В чем разница между кодировками ASCII, ANSI и OEM?

Компьютеры
Тэги: ASCII ANSI OEM кодировки

📅17-07-2023 👁80

Вначале изобрели ASCII таблицу.

В байте, как известно, 8 бит, и многим пришла в голову мысль: «ха, мы можем использовать коды 128-255 для своих целей». Беда в том, что эта мысль пришла в голову очень многим одновременно, и у каждого было свое представление о том, что можно поместить в кодовые позиции от 128 до 255. В IBM-PC придумали нечто, получившее название кодировки OEM, в которой были некоторые символы с надстрочными знаками из европейских языков и целый ряд символов для черчения - символов псевдографики, с помощью которых можно было рисовать на экране красивые окна и линии. Вы и сейчас можете их увидеть на компьютере с 8088-м процессором, если, конечно, найдете его. Как только начались продажи PC за пределами США, появилась масса кодировок OEM, в которых верхние 128 символов было разным. Например, на некоторых PC символ с кодом 130 отображался как й, а на компьютерах, продававшихся в Израиле, это была буква иврита Gimel, поэтому rйsumйs, отправляемые американцами в Израиль, выглядели там как r sum s. Часто, например в русском языке, верхние 128 символов были разными даже для одного алфавита, поэтому надежного способа пересылки документов на русском языке не было.

В чем разница между кодировками ASCII, ANSI и OEM?


В конечном итоге все это безобразие с OEM было узаконено в виде стандарта ANSI. Нижняя часть кодовой таблицы (до 128) практически совпадала с ASCII и не вызывала ни у кого возражений, но символов в верхней части (от 128) определялось множество, в зависимости от локализации. Эти различные системы были названы кодовыми страницами} Например, в Израиле применялась кодовая страница DOS 862, а в Греции - кодовая страница 737. Нижние части таблиц совпадали, но все символы с кодами больше 128 были необычными. В переведенных на местные языки версиях MS-DOS были десятки таких кодовых страниц, и можно было работать с разными языками, от английского до исландского, и было даже несколько «мультиязычных» страниц, позволявших работать с эсперанто и галисийским на одном и том же компьютере! Но вот заставить, скажем, отображаться на одном и том же компьютере иврит и греческий было абсолютно невозможно без специальной программы, выводящей растровую графику, потому что ивриту и греческому требуются разные кодовые страницы с различной интерпретацией старших символов.

Тем временем в Азии приходилось сталкиваться с еще более удивительными вещами, если принять во внимание, что в азиатских алфавитах тысячи букв, которые никак не поместятся в 8 бит. Обычно для них применялась путаная система под названием DBCS, «двухбайтовый набор символов», в котором одни буквы занимали 1 байт, а другие - 2 байта. Перемещаться по строке в прямом направлении было легко, но в обратном - почти невозможно. Программистам рекомендовалось не пользоваться для перемещения операторами s++ или s--, а вызывать особые функции, такие как An-siNext и AnsiPrev в Windows, которые умели справляться с этой путаницей.

И тем не менее большинство людей делало вид, что байт - это символ, а символ - это 8 бит, и если вам не приходилось перемещать строки с одного компьютера на другой или говорить на нескольких языках одновременно, то это обычно сходило с рук. Естественно, с появлением Интернета перемещение строк с одной машины на другую стало обычным делом, и все пошло кувырком. К счастью, изобрели Unicode.



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы