Кодирование символьной информации

Внутреннее представление символов в ЭВМ осуществляется на основе оп-

ределенной системы кодирования символов, которая обычно представлена в виде кодовой таблицы. Кодовая таблица отражает соответствие между изображениями символов и их внутренними числовыми кодами. Коды

обычно представлены шестнадцатеричными или десятичными числами.

Кодовая таблица должна представлять следующие группы символов:

- управляющие символы;

- знаки арифметических операций, знаки препинания и цифры;

- буквы латинского алфавита;

- буквы национальных алфавитов;

- математические символы;

- символы псевдографики.

Общепринятый компьютерный алфавит еще не успел сложиться. В на-

стоящее время существует достаточно много способов кодирования символов. Так, для представления символов в самых первых компьютерах использовался стандартный телеграфный код. Это было вызвано тем временем: для ввода и вывода текста использовались стандартные телетайпы, подключенные к ЭВМ. Когда появилось специализированное компьютерное оборудование ввода- вывода, изменилось и кодирование. Так, фирма *BM в своих больших машинах использовала кодировку EBCDIC (E*tended Bin*ry Coded Dec**a* Inter*hange Code) - расширенный двоично-десятичный код обмена информацией. Сущест-

вовало порядка шести версий этого кода, несовместимых между собой.

В машинах американской фирмы DE* (советские аналоги этих машин -

СМ и ДВК) использовалась семибитовая кодировка КОИ-7 (KOI-7). С ее помо-

щью можно было закодировать 128 символов.

В современных условиях при вводе и преобразовании данных применяют-

ся различные системы кодирования символов. В IBM-совместимых ЭВМ используются в основном такие виды кодов: КОИ-7, КОИ-8, ДКОИ, A*CII и др. Наличие в ЭВМ блоков предварительной обработки позволяет производить пе-

рекодировку информации из одного кода в другой.

КОИ-* предназначался для представления алфавитно-цифровой информа-

ции на входах и выходах аппаратуры передачи данных по линиям связи. На- пример, Е-русское в этом коде обозначается 1100*01, а Е-латинское - 1000*01. Этот код оказался неудобен для внутренней обработки информации в машине. Для этих целей стали применяться коды КОИ-8 (восьмибитовый код обмена информации) и ДКОИ (двоичный код обмена и обработки информации). Пре- имущество этих кодов в том, что они предоставляют возможность кодирования

большего количества символов (до 2**).

КОИ-* предназначался для обмена алфавитно-цифровой информации с

магнитными накопителями. Построен на основе семибитового кода КОИ-7. КОИ-8 разработан с соблюдением международных стандартов, что позволяет использовать его не только для выполнения арифметических и логических опе- раций, но и обмена информацией как по внутренним, так и по международным

линиям связи.

ДКОИ - двоичный код обмена и обработки информации - предназначен

для обработки информации в машинах (табл.5.1-5.*).

Необходимость стандартизации представления текстовой информации бы-

ла достаточно скоро осознана. Результатом этого явилась кодировка ASCII (Am*rican Standard Cod* for Inf*rmation Inter*hange) - стандартный американ-

ский код для обмена информацией

Подпись: [Коды десятичных цифр (ДКОИ)

Таблица 5.1


Десятичная цифра

0

1

2

3

4


Код

F0

F1

F*

F3

*4


Десятичная цифра Код

5                         F5

6                         F6

7                         F7

8                         F8

9                         F9


 

Коды латинских букв (ДКОИ)

Таблица 5.2

Латинская буква          Код        Латинская буква          Код        Латинская буква Код

A                      C*                         *                      D1                        S                      E2

B                      C2                        K                      D2                        T                      Е3

C                      C3                         L                      D3                        U                      E4

*                       C4                        M                      *4                         *                       E5

E                      C5                        N                      D5                        W                     E6

F                      C6                        O                      D6                        X                      E7

G                      *7                         *                       *7                         Y                      *8

H                      C8                        Q                      D8                        *                       E9

I                       C9                        R                      D9

Коды русских букв (ДКОИ)

Таблица 5.3

Русская буква          Код        Русская буква          Код        Русская буква Код

А                    C1                      Л                    CE                     Ц                   BB

Б                    ВА                     М                   D4                      Ч                    FE

В                    *2                      Н                    C*                     Ш                   FB

Г                    BF                      О                    D6                     Щ                   F*

Д                   BC                     П                   DC                     Ь                    EE

Е                    C5                      Р                    *7                      Ы                   *F

Ж                   EC                     С                    C3                      Э                    F*

З                    *A                      Т                    E3                     Ю                   B8

И                   CB                     У                    EB                     Я                   DD

Й                   *C                      Ф                   BE

К                    D2                      Х                    E7

Коды знаков (ДКОИ)

Таблица 5.4


Знак

 

&

-

/

.


Название знака

Пробел

Знак «и»

Черточка

Знак деления

Точка


Код

40

50

60

6*

4B


Знак

;

,

%

_


Название знака

Точка с запятой

Знак «не»

Запятая

Знак процента

Знак подчеркивания


Код

*E

5F

6B

*C

6D

<        Меньше                                         4C             >        Больше                                       6E

(         Левая скобка                               4D             ?        Вопросительный знак              6F

+        Плюс                                             4E              :         Двоеточие                                 7A

|         Знак «или»                                  4F             #        Знак номера                              7B

!         Восклицательный знак              **             @        Товарный знак                         7C

¤        Денежный знак                           5B                      Апостроф                                  7D

*        Знак умножения                         5C             =        Знак «равно»                            7*

)         Правая скобка                             *D                      Кавычки                                    7F

ASCII введен в качестве стандартного кода для обмена информацией меж-

ду ЭВМ, а также для передачи информации по линиям связи. Это код двоич- ный, восьмиразрядный, восьмой бит - бит проверки на четность, семь осталь-

ных бит - значащие.

Хотя и введен стандарт, но несовместимые или частично совместимые с

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

ского и национального алфавитов в одной кодовой таблице.

В персональных компьютерах используется система кодирования AS*II. В

ней для национальных алфавитов, в частности, для русского отводятся коды с 128-го по 25*-й. Исторически сложилось так, что наш алфавит был закодирован в этом коде несколькими различными способами. Однако наиболее часто ис- пользовался вариант, известный как СР866 - кодовая страница 866 для M*

DO*.

Время идет, появляются новые операционные системы, которые предлага-

ют новые системы кодировки. Например, для представления кириллицы в опе-

рационной системе MS Wind*ws используется CP1251 - кодировка, несовмес-

тимая с прежней кодировкой кириллицы в M* DOS.

Несколько лет спустя появилась версия операционной системы UNI* для

IBM-совместимых ПК, которая принесла с собой кодировку *EC *OI-* и её кириллический вариант KOI-8r, который считается стандартом для передачи

русскоязычной информации и её представления в Internet.

Одним из возможных решений проблемы совместимости национальных

кодировок символов является разработка универсального межнационального стандарта. На её роль в настоящее время претендует стандарт UN*CODE, в ко- тором для представления символов используется двухбайтовая кодировка. В Wi**ow* 95 и Wi*dows NT тоже есть средства по работе с UNIC*DE. Однако кодировка символов кириллицы в UNICODE не совместима ни с одной коди-

ровкой русских букв, из числа упоминавшихся выше.