Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ленкция 3.doc
Скачиваний:
11
Добавлен:
18.11.2019
Размер:
240.64 Кб
Скачать

2. Коды мтк-2, ascii, кои-8 и их характеристика

ТЕЛЕГРАФНЫЙ ТРЁХРЕГИСТРОВЫЙ КОД МТК-2 был принят в 1963 году. Код 5-ти битовый (всего 32 разных комбинации), поэтому используются 3 разных регистра (русский, латинский, цифры), переключаемые управляющими символами РУС, ЛАТ, ЦИФ. Букв Ъ и Ё нет; вместо буквы Ч использовали цифру 4.

МТК-2 основан на международном телеграфном коде № 2 (ITA2), рекомендованном Международным консультативным комитетом по телефонии и телеграфии в 1932 году (в международном коде 00000 не используется).

Таблица 1 – Кодирование элементов сообщения кодом МТК-2

Шестнадцатеричный код

Десятичный код

Двоичный код

Латинские буквы

Русские буквы

Цифры

0x03

3

00011

A

А

-

0x19

25

11001

B

Б

?

0x0E

14

01110

C

Ц

:

0x09

9

01001

D

Д

Кто там?

0x01

1

00001

E

Е

З

0x0D

13

01101

F

Ф

Э

0x1A

26

11010

G

Г

Ш

0x14

20

10100

H

Х

Щ

0x06

6

00110

I

И

8

0x0B

11

01011

J

Й

Ю

0x0F

15

01111

K

К

(

0x12

18

10010

L

Л

)

0x1C

28

11100

M

М

.

0x0C

12

01100

N

Н

,

0x18

24

11000

O

О

9

0x16

22

10110

P

П

0

0x17

23

10111

Q

Я

1

0x0A

10

01010

R

Р

4

0x05

5

00101

S

С

'

0x10

16

10000

T

Т

5

0x07

7

00111

U

У

7

0x1E

30

11110

V

Ж

=

0x13

19

10011

W

В

2

0x1D

29

11101

X

Ь

/

0x15

21

10101

Y

Ы

6

0x11

17

10001

Z

З

+

0x08

8

01000

Возврат

каретки

0x02

2

00010

Перевод строки

0x1F

31

11111

Буквы

латинские

0x1B

27

11011

Цифры

0x04

4

00100

Пробел

0x00

0

00000

Буквы

русские

С появлением нового вида электросвязи – передачи данных возникла потребность введения новых служебных, арифметических, логических и других символов, отсутствующих в MТK-2. Это привело к необходимости создания нового стандартного кода, пригонного как для телеграфии, так и для передачи данные. Был разработан и утвержден в 1966 году МККТТ и МОС новый международный стандартней код МТК-5, который содержит на только строчные, но и прописные буквы, дополнительные знаки препинания, большое число символов управления устройствами связи и печати.

Код обеспечивает:

  • обработку и передачу машинной символики в пределах машинного языка «КОБОЛ»;

  • простоту выделения при декодировании групп символов различного характера: служебных символов, цифр, букв и специальных знаков;

  • простой алгоритм работы ЭВМ при обработке цифровой ин­формации;

  • упрощение процессов упорядочения информации по цифрам и буквам;

  • передачу информации по каналам связи и телеуправления устройствами обработки данных;

  • построение клавиатуры аппаратов с расположением клавиш, близким к расположению на клавиатуре пишущей машинки.

КОИ-8 (код обмена информацией, 8 битов), KOI8 – восьмибитовая ASCII – совместимая кодовая страница, разработанная для кодирования букв кириллических алфавитов.

Существует также семибитовая версия кодировки, не полностью совместимая с ASCII – КОИ-7. КОИ-7 и КОИ-8 описаны в ныне не действующем ГОСТ 19768-74.

Разработчики КОИ-8 поместили символы русского алфавита в верхней части кодовой таблицы таким образом, что позиции кириллических символов соответствуют их фонетическим аналогам в английском алфавите в нижней части таблицы. Это означает, что если в тексте, написанном в КОИ-8, убирать восьмой бит каждого символа, то получается «читаемый» текст, хотя он и написан латинскими символами. Например, слова «Русский Текст» превратились бы в «rUSSKIJ tEKST». Как побочное следствие, символы кириллицы оказались расположены не в алфавитном порядке.

Существует несколько вариантов кодировки КОИ-8 для различных кириллических алфавитов, расширяющие определённые коды (общий диапазон 192—255 с 32 русскими буквами в двух регистрах остаётся неизменным во всех вариантах). Русский алфавит описывается в кодировке KOI8-R, украинский в KOI8-U.

KOI8-R стал фактически стандартом для русской кириллицы в 1990-х годах в юникс-подобных операционных системах и электронной почте. Автор данной кодировки (RFC1489), которая стала первой русской стандартизированной кодировкой в интернете – Андрей Чернов, в начале 1990-х годов работал в компании Демос (сеть Релком) и непосредственно участвовал в запуске и наладке первого интернет-канала между Россией и западными странами.

IETF утвердил несколько RFC по вариантам кодировки KOI-8:

  • RFC1489 – KOI8-R;

  • RFC2319 – KOI8-U;

  • RFC1345 – ISO-IR-111 (с ошибкой в определении основного диапазона).

IANA зарегистрировала их в своём списке.

Стандарт RFC 1489 предписывает наличие графических символов «рамок» (псевдографики), однако это требование выполняется довольно редко.

В Microsoft Windows KOI8-R присвоен код страницы 20866, KOI8-U – 21866.

Начало таблицы кодировки (латиница) полностью соответствует кодировке ASCII.

В приведённых таблицах числа под буквами обозначают шестнадцатеричный код буквы в Юникоде.

Рисунок 2.1 – Кодировка русских букв в коде КОИ-8 Р

ASCII (англ. American Standard Code for Information Interchange) – американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. В американском варианте английского языка произносится [э́ски], тогда как в Великобритании чаще произносится [а́ски]; по-русски произносится также [а́ски] или [аски́].

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

Национальные варианты ASCII

Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения национальных символов на месте @ [ \ ] ^ ` { | } ~. В дополнение к этому, на месте # может быть размещён £, а на месте $ — ¤. Такая система хорошо подходит для европейских языков, где нужны лишь несколько дополнительных символов. Вариант ASCII без национальных символов называется US-ASCII, или «International Reference Version».

Для некоторых языков с нелатинской письменностью (русского, греческого, арабского, иврита) существовали более радикальные модификации ASCII. Одним из вариантов был отказ от строчных латинских букв на их месте размещались национальные символы (для русского и греческого только заглавные буквы). Другой вариант – переключение между US-ASCII и национальным вариантом «на лету» с помощью символов SO (Shift Out) и SI (Shift In) – в этом случае в национальном варианте можно полностью устранить латинские буквы и занять всё пространство под свои символы. См. также КОИ-7.

Впоследствии оказалось удобнее использовать 8-битные кодировки (кодовые страницы), где нижнюю половину кодовой таблицы (0-127) занимают символы US-ASCII, а верхнюю (128-255) – дополнительные символы, включая набор национальных символов.

Таким образом, верхняя половина таблицы ASCII до повсеместного внедрения Юникода активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками (КОИ-8, Windows-1251 и другие). Другие языки с нелатинской письменностью тоже страдали из-за наличия нескольких разных кодировок.

В Юникоде первые 128 символов тоже совпадают с соответствующими символами US-ASCII.

Рисунок 2.2 – Код ASCII в символах азбуки Морзе

Выводы

Таким образом, в ходе рассмотрения второго вопроса удалось:

1. Разобрать коды МТК-2, ASCII, КОИ-8 и их характеристики.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]