18
Автор: Турусов Григорий ((с)Турусов Г.В., 2015.

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

  • Upload
    -

  • View
    380

  • Download
    0

Embed Size (px)

Citation preview

Автор: Турусов Григорий

((с)Турусов Г.В., 2015.

Определение Появление кодовых таблиц Таблица ASCII Кодовые таблицы сегодня Кодовые таблицы системе Microsoft

Windows Список литературы

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

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

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

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

Таблица содержала 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).

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

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

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

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

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

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

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

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

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

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

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

((с)Турусов Г.В., 2015.

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

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

((с)Турусов Г.В., 2015.

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

https://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://www.irkinfo.ru/osnovy-informatiki-i-informatsionnykh-tekhnologii-str51.html

((с)Турусов Г.В., 2015.