Окт 14

Наборы символов и кодировки

Представление символов в компьютерах базируется на кодовых таблицах, в которых каждому отображаемому на экране символу соответствует некоторый целочисленный код. Кодовую таблицу называют также набором символов (character set). Одним из первых стандартов кодовых таблиц был стандарт представления символов ASCII1. В наборе символов ASCII каждому символу сопоставлен 7-битный двоичный код, поэтому общее количество символов равно 27 = = 128 символов.
Номера строк и столбцов даны в шестнадцатеричной нотации. Шестнадцатеричный код символа образуется в результате сцепления номера строки и номера столбца. Например, код буквы N равен 0х4Е, что соответствует двоичному коду 01001110 или десятичному коду 78.
Первые 32 символа в таблице (коды 0x00 — OxlF) соответствуют неотобража-емым управляющим кодам. К ним относятся «возврат каретки» (код OxOD)2, «перевод строки» (код ОхОА) и другие неотображаемые символы3. Затем следуют пробел (код 0x20), синтаксические и служебные знаки, знаки математических операций, цифры и буквы английского алфавита в верхнем и нижнем регистрах. Последний символ (код 0x7F) используется также как управляющий код.
Позже появились различные расширения таблицы ASCII с использованием 8-битной кодировки, позволяющей отображать 256 символов. Во всех расширениях первые 128 позиций повторяют стандарт ASCII.
Наиболее распространенной реализацией такой кодировки является расширенный набор символов IBM, предложенный производителями IBM PC в начале 80-х годов. В старшей половине кодовой таблицы эта кодировка содержит псевдографические символы, символы греческого алфавита и некоторые математические символы. Набор символов IBM растиражирован в миллионах микросхем ПЗУ, которые установлены в видеоадаптерах, принтерах и микросхемах BIOS. Для множества программ, работающих в текстовом режиме и написанных не для Microsoft Windows, используется эта кодировка, поскольку в них для вывода информации на экран используются символы псевдографики, имеющие коды от ОхВО до OxDF.
Известно несколько вариантов кодирования набора символов IBM, которые называются кодовыми страницами {code pages). Вариант, используемый в США и большинстве европейских стран, называется СР437 (code page 437). В России получила наибольшее распространение так называемая альтернативная кодировка ГОСТа. Она известна также под именем СР866 и отличается от СР437 тем, что некоторые символы во второй половине таблицы заменены на кириллицу, а псевдографические символы остались на своих местах.
С появлением операционной системы Microsoft Windows возникла необходимость разработки нового расширения таблицы ASCII, так как текстовый режим MS-DOS, а вместе с ним и символы псевдографики стали уже ненужной архаикой. Так появился набор символов ANSP, который, фактически, стал международным стандартом ISO2.