Загадочные артефакты Windows и Word: от «Буш спрятал факты» до советов по армии

В мире программного обеспечения, особенно в старых версиях, можно найти настоящие цифровые реликвии — забавные баги и неожиданные «фичи», которые стали частью IT-фольклора. Сегодня мы разберем две такие истории, связанные с продуктами Microsoft: одну про загадочное превращение текста в иероглифы, а другую — про весьма специфическую проверку грамматики.

Тайна фразы «Bush hid the facts»

Представьте себе: вы открываете «Блокнот» в старой Windows (например, XP или NT), печатаете фразу «Буш спрятал факты» (или её английский вариант «Bush hid the facts»), сохраняете файл и закрываете его. А при повторном открытии вместо знакомых букв видите набор китайских иероглифов или, если система не поддерживает их отображение, бессмысленные квадратики («тофу»). Любопытно, что другие текстовые редакторы, вроде WordPad, показывали файл совершенно нормально. Этот феномен стал интернет-мемом во времена Джорджа Буша-младшего, хотя сама ошибка зародилась ещё в 90-е.

Чтобы понять её природу, нужно немного углубиться в историю кодировок текста. Долгое время один символ равнялся одному байту (всего 256 вариантов), что хватало для английского и одного локального языка. Но для разных языков, включая русский, существовало множество конкурирующих кодировок (CP866, CP1251, KOI-8), из-за чего текст, открытый в неправильной кодировке, превращался в «крокодила» — нечитаемую абракадабру. Сложные тексты со смешением алфавитов и вовсе было невозможно корректно записать.

Ситуацию должен был исправить Unicode — стандарт, где каждый символ кодируется не одним, а двумя (или более) байтами. Ранние версии Windows NT, построенные на Unicode, использовали функцию IsTextUnicode. Её задача была определить по статистическим признакам, является ли последовательность байтов однобайтовым текстом или текстом в Unicode. Алгоритм был прост: если длина строки чётная, а чётные байты меняются меньше нечётных, система считала текст Unicode. Именно фразы вроде «Bush hid the facts» или «это приложение может сломаться» по чистой случайности попадали под эти критерии, и «Блокнот» ошибочно пытался прочитать их как китайские символы. Сегодня эта функция в «Блокноте» уже не используется, но история осталась.

Обратите внимание: Почему компьютерные игры кажутся «полезным» развлечением?.

Неожиданный совет от Microsoft Word

Вторая история — из мира текстовых процессоров. В старых русскоязычных версиях Microsoft Word, где использовался словарь от компании «Информатик», была любопытная особенность. Если включить проверку грамматики и написать фразу «Я хочу избежать службы в армии», программа могла предложить весьма специфические варианты исправления. Это не ошибка в привычном смысле, а скорее следствие сложной лингвистической настройки.

В русском языке слова в словосочетаниях связываются тремя основными способами:

  • Примыкание: зависимое слово (часто наречие) не изменяется и просто присоединяется к главному. Например, «быстро бежать».

  • Управление: главное слово требует от зависимого определённой падежной формы. Например, глагол «встретить» управляет винительным падежом: «встретить (кого?) маму».

  • Согласование: зависимое слово (часто прилагательное) согласуется с главным в роде, числе и падеже. Например, «чёрный хлеб».

Разработчики словаря «Информатик» создали базу данных, где для каждого слова, включая глаголы, указывалось, какое управление оно требует. Для глагола «избегать» корректным считается управление родительным падежом: «избегать (чего?) службы». Поэтому, когда программа анализировала фразу «Я хочу избежать службы в армии», она, следуя строгим правилам, могла предложить альтернативные варианты, которые с точки зрения грамматики казались ей более «правильными», но с точки зрения смысла и контекста выглядели комично. Это яркий пример того, как формальная логика алгоритма сталкивается с живым языком.

[mine]BugITРусский языкUnicodeГрамматическая ошибкаWindows XPMicrosoft WordLongpost 8 Emotions

Больше интересных статей здесь: О гаджетах.

Источник статьи: Доступно об АйТи: Почему Буш скрыл факты?.