О кодировке

Рабинович приходит на открытый урок. Учительница спрашивает маленького Мойше:
— Сколько будет 7×8?
— 33!
— Нет!
— Значит, 48!
— Нет!!
— Ну, тогда 62.
— Нет!!!
Тут Рабинович начинает аплодировать.
— Но чему вы аплодируете??? Ваш сын ничего не знает!
— Да, но как вык’учивается!
На форуме, посвящённом ЕГЭ, обсуждение проблемы учеников, у которых в фамилии есть буква «Ё». Если написание в списке не совпадает с написанием в паспорте, то до экзамена могут просто не допустить. Да и компьютер при проверке не всегда считает символы «е» и «ё» одинаковыми, поэтому пойди догадайся, как зовут виолончелиста из знаменитого крыловского Квартета — то ли Осёл, то ли Осел.
Юноша с революционным пылом врывается в дискуссию:
— И вообще — буквы «ё» нет в кодировке!
Поскольку народ на форуме в целом подкованный, от такой заявки люди немного удивляются и задают закономерный вопрос:
— Это в какой же кодировке нет буквы «ё»?
И юноша через некоторое время отвечает:
— В КОИ-7.
«Кодировка» — это соответствие цифровых значений буквам. Если с латиницей всё более или менее однозначно, и соответствующая кодировка называется ASCII (American Standard Code for Information Interchange), то кириллице повезло меньше. КОИ-7 (код обмена информацией 7-битный) — древняя кодировка, когда в байте было всего 7 значащих битов, а восьмой то ли не использовался, то ли использовался как контрольный разряд. Там после получения определённого символа (SI/SO) последующие буквы начинались считаться русскими. 0x0EPAPA U WASI SILEN V MATEMATIKE0x0F. И там действительно было не до «ё». Позже было придумано множество других русских кодировок: КОИ-8, где уже полноценно использовался старший бит, «основная» кодировка (437), «альтернативная» кодировка (866), ISO (855), Windows (1251)... Со всеми этими кодировками (кроме разве что ISO) мне довелось работать, и во всех буква «Ё» ёсть. Не говоря уже про современный Unicode, в котором есть вообще любые символы, включая символ-ёж (U+1F994
|
</> |