кодовые таблицы

18
Автор: Жулин Александр (С) Жулин А.А. 2014г.

Transcript of кодовые таблицы

Автор: Жулин Александр

(С) Жулин А.А. 2014г.

Определение. Появление кодовых таблиц. Таблица ASCII Кодовые таблицы сегодня. Кодовые таблицы системе Microsoft Windows. Список использованной литертуры.

(С) Жулин А.А. 2014г.

Кодовая страница (англ. code page) — таблица, сопоставляющая каждому значению байта некоторый символ (или его отсутствие). Обычно код символа имеет размер 8 бит, так что кодовая страница может содержать максимум 256 символов, из чего вытекает резкая недостаточность всякой 8-битной кодовой страницы для представления многоязычных текстов. К тому же часть символов используется как управляющие, из-за чего число печатных символов редко превышает 223

(С) Жулин А.А. 2014г.

Исторически термин code page был введён корпорацией IBM; сменные кодовые страницы использовались для поддержки различных языков (имеющих алфавитные системы письма). В последнее время имеется путаница между термином «кодовая страница» и более общим понятием набора символов (кодировки).

(С) Жулин А.А. 2014г.

Во время появления компьютеров, потребовалось представить числовую и текстовую информацию в памяти машины.

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

(С) Жулин А.А. 2014г.

Для кодирования букв и других символов, используемых в печатных документах, необходимо закрепить за каждым символом числовой номер – код. В англоязычных странах используются 26 прописных и 26 строчных букв (A … Z, a … z), 9 знаков препинания (. , : ! " ; ? ( ) ), пробел, 10 цифр, 5 знаков арифметических действий (+,-,*, /, ^) и специальные символы (№, %, _, #, $, &, >, <, |, \) – всего чуть больше 100 символов. Таким образом, для кодирования этих символов можно ограничиться максимальным 7-разрядным двоичным числом (от 0 до 1111111, в десятичной системе счисления – от 0 до 127).

(С) Жулин А.А. 2014г.

Первой такой 7-разрядной кодовой таблицей была ASCII (American Standard Code for Information Interchange), опубликованная как стандарт в 1963 г. американской организацией по стандартизации American Standards Association (ASA), которая позднее стала именоваться ANSI (American National Standards Institute, поэтому данную кодовую таблицу называют также и ANSI).

(С) Жулин А.А. 2014г.

Таблица содержала 32 кода команд или управляющих символов (от 0 до 31), большая часть которых сегодня не используется, и 95 кодов (от 33 до 127) для различных знаков, достаточных для работы с английскими текстами, как показано на рисунке 1.1. На рисунке 1.1 символы построчно имеют следующие коды в шестнадцатеричной системе счисления (в скобках – в десятичной):

1-я строка с 00 по F и далее с 10 по 1F (0 – 15, 16 - 31), 2-я строка с 20 по 2F и 30 – 3F (32 – 47, 48 - 63), 3-я строка с 40 по 4F и 50 – 5F (64 – 79, 80 -95), 4-я строка с 60 по 6F и 70 – 7F (96 – 111, 112 -127).

(С) Жулин А.А. 2014г.

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

(С) Жулин А.А. 2014г.

(С) Жулин А.А. 2014г.

В настоящее время в основном используются кодировки двух типов: совместимые с ASCII и совместимые с EBCDIC[2], с подавляющим преобладанием первых. В ASCII-совместимых кодировках фиксированы коды 95 печатных символов и 33 управляющих, а остальные 128 кодовых позиций используются для различных символов, не входящих в ASCII.

(С) Жулин А.А. 2014г.

Для кодирования текстов на русском языке (то есть букв кириллицы) наиболее широко применяются следующие кодовые страницы:

Windows-1251, она же Microsoft code page 1251 (CP1251) — в системах Windows;

Семейство кодовых страниц KOI8; Альтернативная кодировка, она же IBM code page

866 — в системах DOS, а также в текстовых окнах Microsoft Windows (см. ниже);

MacCyrillic — на компьютерах Macintosh.

(С) Жулин А.А. 2014г.

Использование различных кодовых страниц создаёт много неудобств как для пользователей, так и для программистов. При попытке прочесть текстовый файл при помощи кодовой страницы, несовместимой с той в которой он был создан, возникают кракозябры. В последние годы получил широкое распространение Unicode как альтернатива традиционным кодовым страницам.

(С) Жулин А.А. 2014г.

В системах Microsoft Windows кодовые страницы являются важным компонентом локализации, задаваемым в ключах реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\

(С) Жулин А.А. 2014г.

Исторически (в системах Windows 3.x и Windows 9x) имелось два типа кодовых страниц. Кодовые страницы «ANSI» (англ. ANSI code page, в реестре: ACP), также называемые Windows — родные кодовые страницы Windows. Содержат много символов типографики, но почти не содержат псевдографику по причине того, что предназначены для использования в графическом окружении.

(С) Жулин А.А. 2014г.

Microsoft признала, что использование имени ANSI было вызвано недоразумением. К кодировкам «ANSI»/Windows относят, в частности, Windows-1252 и вышеупомянутую Windows-1251. Microsoft также относит к кодовым страницам кодовые таблицы, некоторые позиции которых требуют второго (завершающего) байта для формирования символа, то есть допускающие двухбайтовое представление некоторых символов, хотя они, строго говоря, являются уже кодировками с переменной длиной символа.

(С) Жулин А.А. 2014г.

Кодировки OEM (англ. OEM code page, в реестре: OEMCP) основаны на CP437 и содержат VGA-совместимую псевдографику. Вышеупомянутая альтернативная кодировка известна в Windows как CP866.

Начиная с Windows NT появился третий класс кодовых страниц: кодировки Macintosh (англ. Macintosh code page, в реестре: MACCP), совместимых с MacOS.

(С) Жулин А.А. 2014г.

http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0

http://informatika-dts.ucoz.ru/_si/0/48563034.jpg

http://ru.wikibooks.org/wiki/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0

(С) Жулин А.А. 2014г.