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

Сейчас я опишу две старые фичи в программах Microsoft — одна баг, а другая просто старый мем.

Bush hid the facts

Повторюсь: в строке Windows NT, даже XP наберите в блокноте «Буш спрятал факты» и сохраните файл. При его открытии получаем китайские иероглифы — или тофу («квадраты»), если в системе нет китайского письма. Другое программное обеспечение (например, WordPad) показывает, что файл в полном порядке.

Мем появился при Буше-младшем, но ошибка появилась в 90-х, вскоре после прихода администрации Буша-старшего. И вот из чего он состоит.

Долгое время символ текста совпадал с байтом — минимальной единицей для памяти и телекоммуникаций. Различных байт всего 256, этого достаточно для английского и местного языка. И даже если локальный язык всего один (например, русский/украинский), появилось множество различных кодировок, предназначенных для обхода важных символов в какой-то базовой кодировке. Так, в DOS-кодировке (=CP866) обойдена псевдографика, в Windows-кодировке (=CP1251) - типографские символы и управляющий символ "мягкого переноса", кодировка KOI-8 подогнана под старый e-mail программное обеспечение, которое удалило верхнюю часть. И появился термин крокодил - текст не в той кодировке.

А сложный текст (например, в языкознании), в котором есть санскрит и древнерусское ять ѣ, вообще не может быть написан.

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

А потом в начале 90-х придумали юникод, тогда это была еще просто двухбайтная кодировка - один символ кодируется двумя байтами. Windows NT изначально была написана в Unicode, и там появилась функция IsTextUnicode, которая проверяла по статистике, является ли строка байтов, скорее всего, однобайтовым текстом или текстом Unicode. Эта функция все еще существует, но Блокнот уже давно ее не использует.

Статистика была проста: длина строки четная, а четные байты изменяются гораздо меньше, чем нечетные. Так что строки «hhhh hhh hhh hhhhh» и «это приложение может сломаться» приводят к ложным срабатываниям».

Хочу избежать службу в армии

Как повторить: на старых версиях Word с русским словарем производства «Информатик» включите проверку грамматики и напишите: «Я хочу избежать службы в армии». И посмотрите, что она придумает.

Это, как говорится, не баг, а фича. В русском языке существует три способа соединения слов в словосочетания:

  • приставка: зависимое слово инвариантно и просто присоединяется к главному слову: быстро беги, быстро беги. Если некоторые учителя в слове «беги» выводят нулевое окончание, то в слове «быстро» окончания нет, потому что наречия не изменяются.

  • контроль: зависимое слово вступает в определенную форму: встретил маму, встретил маму. Встретил маму - бред, а встретил без мамы - совсем другое словосочетание.

  • соглашение: слова изменяются синхронно: черный хлеб, черный хлеб.

«Компьютерщик» просто завел базу основных слов и для каждого указал, насколько это зависимо. И резонно указал, что глагол "избегать" требует родительного падежа - "хочу избежать службы в армии».

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

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

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