МЕЖДУНАРОДНЫЕ СИСТЕМЫ БАЙТОВОГО КОДИРОВАНИЯ.

Информатика и ее приложения интернациональны. Это связано как с объективными потребностями человечества в единых правилах и законах хранения, передачи и обработки информации, так и с тем, что в этой сфере деятельности (особенно в ее прикладной части) заметен приоритет одной страны.

Компьютер является универсальным преобразователем информации. Тексты на естественных языках, числа, математические и специальные символы, другие виды информации вводятся в компьютер, хранятся и обрабатываются в компьютере и выводятся из компьютера в кодированном виде.

При внутреннем представлении информации в компьютере кодирование символов основывается на сопоставлении каждому из них определенной группы двоичных знаков. При этом из технических соображений и из соображений удобства кодирования – декодирования обычно используются равномерные коды, т.е. двоичные группы равной длины.

Подсчитаем наиболее короткую длину такой группы при кодировании символов естественного алфавита, например английского. Количество букв 26 умножим на 2 (прописные и строчные) – получим 52; 10 цифр (0 – 9); примерно 10 знаков препинания; около 10 разделительных знаков (три вида скобок, пробел и др.); знаки арифметических действий; несколько специальных символов (#, $, & и др.) – итого примерно 100. Точный подсчет здесь не нужен.

Равномерный код из групп по I двоичных знаков, может образовать N= 2I разных кодовых комбинаций.

При I = 6 N = 64, что явно мало.

При I = 7 N= 128, что вполне достаточно.

Однако для кодирования нескольких (хотя бы двух) естественных алфавитов (плюс все отмеченные выше знаки) этого недостаточно.

При I=8 N=256, что позволяет решить указанную задачу. Поскольку 8 двоичных символов составляют 1 байт, такая система называется системой байтового кодирования.

Наиболее распространены две такие системы:

· EBCDIC (Extended Binary Coded Decimal Interchange Code),

· ASCII (American Standard Information Interchange).

Первая – исторически тяготеет к «большим» машинам. Вторая – чаще используется на мини- и микро ЭВМ (включая персональные компьютеры).

ASCII (AMERICAN STANDARD INFORMATION INTERCHANGE).

Система ASCII, была создана в 1963 г. В своей первоначальной версии это – система семибитного кодирования (ПРИЛОЖЕНИЕ 1), т.е. I=7, N=27=128. Она ограничивалась одним естественным алфавитом (английским), цифрами и набором различных символов, включая символы пишущей машинки (привычные знаки препинания, знаки математических действий и др.) и управляющие символы. Примеры последних легко найти на клавиатуре компьютера: для микро ЭВМ, например, DEL – знак удаления символа.

В следующей версии фирма IBM перешла на расширенную восьмибитную кодировку, т.е. I=8, N=28=256. В ней первые 128 символов совпадают с исходными семибитными кодами и имеют коды со старшим битом равным нулю, Остальные коды отданы под буквы некоторых европейских языков, в основе которых лежит латиница, греческие буквы, математические символы (скажем, знак квадратного корня) и символы псевдографики. С помощью символов псевдографики можно создавать таблицы, несложные схемы и др.

Для представления букв русского языка (кириллицы) в рамках ASCII было предложено несколько версий. Первоначально был разработан ГОСТ под названием КОИ-7. Он оказался по ряду причин неудачным. В настоящее время используется редко.

В России часто используется модифицированная альтернативная кодировка (ПРИЛОЖЕНИЕ 2). В левую часть входят исходные коды ASCII, в правую часть (расширение ASCII) вставлены буквы кириллицы взамен букв немецкого и французского алфавитов, которые не совпадают по написанию с буквами английского алфавита, греческих букв, некоторых символов. Знакам алфавита ставятся в соответствие шестнадцатеричные числа по правилу: первая – номер строки. Вторая – номер столбца. Например: английская буква ‘A’ имеет код 41, русская – ‘и’ имеет код A8. Одним из достоинств этой системы кодировки русских букв является их естественное упорядочение в такой же последовательности, как они стоят в русском алфавите. Это удобно при обработке текстов.

В настоящее время, т.к. восьми битная кодировка недостаточна для некоторых применений, разработана шестнадцати битная кодировка UNICOD, т.е. I=16, N=216=65536.