Кодирование символьной информации в эвм
Кодирование - это представление сведений в том или ином стандартном виде. Одна и та же информация может быть представлена (закодирована) в нескольких формах. C появлением компьютеров возникла необходимость кодирования всех видов информации, с которыми имеет дело и отдельный человек, и человечество в целом. Компьютер может работать только с такой информацией, которую можно превратить в сигналы. Если бы люди умели превращать в сигналы вкус или запах, то компьютер мог бы работать и с такой информацией.
Решать задачу кодирования информации человечество начало задолго до появления компьютеров. Грандиозные достижения человечества - письменность и арифметика - есть не что иное, как система кодирования речи и числовой информации. Информация никогда не появляется в чистом виде, она всегда как-то представлена, как-то закодирована.
Так как многие типы информации содержат в значительном объеме цифровую информацию, то применяются две системы кодирования: символьной информации и десятичных чисел.
Символьная (алфавитно-цифровая) информация хранится и обрабатывается в ЭВМ в форме цифрового кода, т. е. каждому символу ставится в соответствие отдельное бинарное слово-код. При выборе метода кодирования руководствуются объемом и способами обработки символьной информации.
Необходимый набор символов, предусмотренный в конкретной ЭВМ, обычно включает в себя:
- буквенно-цифровые знаки алфавита (алфавитов);
- специальные знаки (пробел, скобки, знаки препинания и др.);
- знаки операций.
Кроме того, в состав набора входят управляющие символы, соответствующие определенным функциям.
Среди наборов символов наибольшее распространение получили знаки кода ASCII (ASCII — American Standard Code for Information Interchange) — американский стандартный код обмена информацией и кода EBCDIC (Extended Binary-Coded Decimal Interchange Code) — расширенный двоично-десятичный код обмена информацией (используется главным образом на «больших» машинах).
ASCII— это семиразрядный код (находит наиболее широкое применение в мини- и микроЭВМ, в том числе в персональных компьютерах).
ASCII создана в 1963г. В своей первоначальной версии она ограничивалось одним естественным алфавитом (английским), цифрами и набором различных символов, включая «символы пишущей машинки» и «управляющие символы».
Стандартный знакогенератор современного персонального компьютера IBM PC имеет 8-битную кодировку символов, состоящую из двух таблиц кодирования: базовой и расширенной. Базовая таблица построена по стандарту ASCII и одинакова для всех IBM-совместимых компьютеров. Расширенная таблица относится к символам с номерами от 128 до 255 и отдана под буквы некоторых европейских языков, математические символы (например, знак квадратного корня) и символы псевдографики.
Первые 33 кода (с 0 до 32) соответствуют не символам, а операциям (перевод строки, ввод пробела и т. д.).
Коды с 33 по 127 являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания.
Коды с 128 по 255 являются национальными, т.е. в национальных кодировках одному и тому же коду соответствуют различные символы.
В нашей стране используется модифицированная альтернативная кодировка. В нее вставлены буквы кириллицы взамен букв немецкого, французского алфавитов (не совпадающих по написанию с английскими), греческих букв, некоторых спецсимволов.
Для представления букв русского алфавита в рамках ASCIIпервоначально был разработан ГОСТовский вариант кодировки — КОИ-7 (Код Обмена Информацией 7-битный). Расположение символов во второй половине таблицы этой кодировки резко отличается от принятого фирмой IBM, что затрудняет использование зарубежного программного обеспечения на отечественных ЭВМ. В связи с этим он практически не применяется, а на отечественных ПК введена так называемая ГОСТ-альтернативная кодировка,главное достоинство которой — расположение символов псевдографики на тех же местах, что и в кодировке IBM.
Другая распространенная кодировка носит название КОИ-8 — (двоичный восьмибитовый Код Обмена Информацией) является стандартной русской кодовой таблицей на компьютерах, работающих под управлением операционной системы UNIX. Сегодня кодировка КОИ-8 имеет широкое распространение в компьютерных сетях на территории России и в некоторых службах российского сектора Интернета. В частности, в России она де-факто является стандартной в сообщениях электронной почты и телеконференций.
Кодировка символов русского языка, известная как кодировка Windows-1251, была введена "извне" - компанией Microsoft, но, учитывая широкое распространение операционных систем и других продуктов этой компании в России, она глубоко закрепилась и нашла широкое распространение.
Находят широкое применение и другие виды кодировки.
Но даже 8-битная кодировка недостаточна для кодирования всех символов, которые хотелось бы иметь в расширенном алфавите. Все препятствия могут быть сняты при переходе на 16-битную кодировку Unicode, допускающую 65536 кодовых комбинаций— этого достаточно для размещения в одной таблице всех широкоупотребляемых языков.
Несмотря на очевидность такого подхода, простой механический переход на данную систему долгое время сдерживался из-за недостатков ресурсов средств вычислительной техники (в системе кодирования UNICODE все текстовые документы становятся автоматически вдвое длиннее). Во второй половине 90-х годов технические средства достигли необходимого уровня обеспечения ресурсами, и сегодня мы наблюдаем постепенный перевод документов и программных средств на универсальную систему кодирования.