
информатика_1 / лекции / 7
.pdfКодирование текстовой информации двоичным кодом
Если каждому символу алфавита сопоставить
определенное целое число, то можно будет двоичным кодом представить и текстовую
информацию.
Если в некоторой системе кодирования текстовой информации для представления одного символа текста выделено x бит, то всего можно будет
закодировать различных символов.
С помощью 8 бит можно закодировать 256 различных
символов.
Для того чтобы весь мир одинаково кодировал
текстовые данные, нужны единые таблицы
кодирования. Институт стандартизации США (ANSI – American National Standard Institute) ввел в действие
систему кодирования ASCII (American Standard Code for Information Interchange – американский
стандартный код обмена информацией). В системе ASCII закреплены 2 таблицы кодирования – базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная – от 128
до 255.
Первые 32 кода базовой таблицы содержат так называемые управляющие коды (перевод строки,
ввод пробела и т. д.), которым не соответствуют никакие символы языков. Эти коды не выводятся ни на экран, ни на устройства печати, но с их помощью
можно управлять выводом данных. Начиная с кода 32
по код 127 размещены коды символов английского
алфавита (прописных и строчных), знаков препинания, цифр, арифметических действий и
некоторых вспомогательных символов (например,
знак ‘$’). Аналогичные системы кодирования были разработаны и в других странах. Однако, поддержка производителей оборудования и программ вывела код ASCII на уровень международного стандарта и
национальным системам кодирования пришлось
отступить во вторую, расширенную часть системы с
кодами 128-255.
Таблицы с кодами 128-255, которые используются в
MS DOS и Windows, называются кодовыми страницами (Code Page, CP). В MS DOS для русского
языка используется т.н. ГОСТ-альтернативная
кодировка, CP-866. В среде Windows используется кодировка CP-1251 (Windows 1251), а также КОИ-8
(код обмена информацией, восьмизначный).
Происхождение КОИ-8 относится ко временам
действия Совета Экономической Взаимопомощи государств Восточной Европы. В настоящее время
КОИ-8 применяется в компьютерных сетях на
территории России и российском секторе Интернета. Для русского языка существуют и другие таблицы,
которые применяются довольно редко.
Трудности, связанные с созданием единой системы кодирования текстовых данных, вызваны
ограниченным набором кодов (256). В настоящее
время операционная система Windows работает с
многоязычными наборами шрифтов UNICODE (порусски чаще всего читается «юникод»).
UNICOCODE – это система кодирования, с помощью
которой можно закодировать очень большое число
символов из разных письменностей: в документах UNICODE могут соседствовать китайские иероглифы,
математические символы, буквы греческого
алфавита, латиницы и кириллицы, при этом
становятся ненужными кодовые страницы. Стандарт UNICODE предложен в 1991 году
некоммерческой организацией Unicode Consortium,
объединяющей крупнейшие IT-корпорации.
Первая версия UNICODE представляла собой
кодировку с фиксированным размером символа в 16
бит, то есть общее число кодов было (65 536).
Отсюда происходит практика обозначения символов
четырьмя шестнадцатеричными цифрами (например, U+0410).
Сейчас в UNICODE зарезервировано 1 114 112 ()
позиций символов. Первые 65536 символов
представляются 16-битными числами, а остальные представляются в виде комбинации из двух символов
и таким образом требуют четырёх байт (32-х битов).
Коды в стандарте UNICODE разделены на несколько
областей. Область с кодами от U+0000 до U+007F ()
содержит символы набора ASCII с соответствующими кодами. Далее расположены области знаков
различных письменностей, знаки пунктуации и
технические символы. Часть кодов зарезервирована для использования в будущем. Под символы
кириллицы выделены коды от U+0400 до U+052F.
В UNICODE для кириллицы выделено два раздела:
Cyrillic (U+0400 — U+04FF) и Cyrillic Supplement (U+0500 — U+052F). Символы U+0400—U+045F
представляют собой символы из ISO 8859-5, но
перемещённые вверх на 864 позиции. Символы U+0460—U+0489 — это исторические буквы.
Символы U+048A—U+052F — это дополнительные
буквы для разных языков, использующих кириллицу.
К сожалению, в UNICODE нет русских букв с
ударением, поэтому приходится их делать
составными, добавляя символ U+0301 («combining acute accent») после ударной
гласной (например, ы´ э´ ю´ я´). Некоторые языки
(например, современный церковнославянский язык) всё ещё не поддерживаются полностью.