1

Мы все знаем о знаменитом кустарнике, спрятанном в факте ошибки Microsoft.

При поиске в интернете я обнаружил, что любая последовательность слов размером 4-3-3-5, разделенная пробелами, сохраненная в виде файла .txt и открытая в Блокноте, может создать ошибку.

например:

  • аааа ааа ааа аааа
  • часть вторая и третья
  • девушка ты с ума сошел
  • Джетд Лу Юй Мас

и т.п.

Но когда я пытаюсь написать свое имя, то есть Priydarshi Singh, в виде priy dar shi singh и сохранить его в виде файла .txt, оно получается таким, как есть.

Почему это происходит?

1 ответ1

3

Согласно этой статье в Википедии, эта ошибка была исправлена начиная с Vista.

Ошибка появилась впервые в Windows NT 3.5, выпущенной в 1994 году, но не была обнаружена до начала 2004 года. [3] Более старые версии Notepad, такие как те, которые поставлялись с Windows 95, 98, ME и NT 3.1, не включают поддержку Unicode, поэтому ошибка там не возникает.

Ошибка существует во всех последующих версиях Windows до и включая Windows XP, но не присутствовала в Windows Vista и впоследствии.

Из той же статьи:

В то время как "Буш скрыл факты" - это предложение, чаще всего представляемое в Интернете, чтобы вызвать ошибку, ошибка может быть вызвана многими предложениями с символами и пробелами в определенном порядке, так что байты соответствуют кодировке UTF-16LE действительного ( если бессмысленно) китайские символы Unicode. Другие популярные строки:"это приложение может сломаться", "acre vai pra globo" (по-португальски "Acre идет в Rede Globo") и "aaaa aaa aaa aaaaa". 1 Ошибка вызывается даже текстом "а".

Ошибка возникает, когда строка передается в функцию определения кодировки Win32 IsTextUnicode без других символов. IsTextUnicode видит, что он считает правильным UTF-16LE на китайском, и возвращает true, а затем приложение неправильно интерпретирует текст как UTF-16LE. [2]

Так что не все комбинации 4-3-3-5 вызовут ошибку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .