Что называется кодовой таблицей
Кодовые таблицы символов
Для представления букв в вычислительной технике используют кодовые таблицы. Кратко о видах таблиц символов и их использовании рассказано в данной статье.
Что такое кодовая таблица
Известно, что числа в ЭВМ представляются в двоичной форме, в виде набора нулей и единиц. Для этого разработаны специальные приемы перевода числовых значений в двоичную последовательность. А как же компьютером обрабатываются текстовая информация – предложение, слова и буквы? Точно также как и числа – в виде последовательности нулей и единиц.
Для представления буквы в компьютере ее заменяют числовым эквивалентом, а затем переводят в двоичный код. Каждой букве соответствует своя цифра. Все буквы с их числовыми эквивалентами сведены в кодовую таблицу символов, которая может называться ASCII, Unicode, КОИ-7, КОИ-8, Windows-1251.
Таблица ASCII
Самой первой системой кодирования текстовой информации была ASCII (американский стандартный код для обмена информацией).
Таблица ASCII была разработана в США в шестидесятые годы прошлого столетия. Появление такой единой унифицированной системы кодировки символов было продиктовано необходимостью реализации компьютерного взаимодействия и обмена информацией. В то время каждый производитель вычислительной техники самостоятельно представлял буквы, цифры и управляющие коды. Только специалистами корпорации IBM применялись девять различных наборов кодировки символов.
Рис. 1. Символы таблицы ASCII.
Идея создания единой стандартизированной системы кодирования символов в виде числовых эквивалентов принадлежит американскому специалисту в области информационных технологий Роберту Уильяму Бемеру. Это он придумал экранирующий символ «Esc», обозначающий то, что следующий после него символ, имеет некоторое другое значение, не такое как ему назначено в таблице ASCII.
Первоначально таблица использовалась для кодировки только 128 знаков, затем была расширена до 256 символов. Первые тридцать два символа в таблице ASCI не имеют печатных эквивалентов и используются для управления. Числа в диапазоне 32 –127 предназначены для кодирования прописных и строчных латинских букв, цифр и знаков препинания.
Знак пробела имеет код 32 и также является печатным символом. Проверить соответствие символа печатному коду легко. Для этого можно воспользоваться простейшим текстовым редактором Блокнот в группе программ Стандартные операционной системы Windows. Нажав одновременно функциональную клавишу Alt и введя код символа – десятичное число, в окне редактора на месте расположения курсора будет напечатан соответствующий символ.
Национальные версии таблицы ASCII
Таблица ASCII в интервале символов от 0 до 127 остается неизменной для любых программ. Диапазон кодовых значений от 128 до 255 может варьироваться в зависимости от языковых и национальных особенностей.
Существуют различные национальные варианты системы кодирования. Для кодирования букв русского алфавита используются:
Unicode
Unicode представляет собой промышленный стандарт для кодирования символов всех письменных языков мира. Он был предложен в 1991 году некоммерческой организацией Unicode Consortium.
Рис. 3. Логотип Unicode Consortium.
Кодовое пространство Unicode разделено на несколько областей. Диапазон кодовых значений от 0 до 127 полностью дублирует кодовую систему ASCII. Затем располагаются области знаков разных языков, пунктуационные знаки и некоторые технические символы.
Unicode имеет несколько форм представления: UTF-8, UTF-16 и UTF-32.
Что мы узнали?
Для представления символьных значений в ЭВМ используются таблицы кодирования символов. Каждому символу в такой таблице соответствует числовое значение. Использование стандартизированных кодовых таблиц позволило обеспечить взаимодействие и информационный обмен между средствами вычислительной техники.
Кодовая таблица
Всего получено оценок: 132.
Всего получено оценок: 132.
Для представления букв в вычислительной технике используют кодовые таблицы. Кратко о видах таблиц символов и их использовании рассказано в данной статье.
Что такое кодовая таблица
Известно, что числа в ЭВМ представляются в двоичной форме, в виде набора нулей и единиц. Для этого разработаны специальные приемы перевода числовых значений в двоичную последовательность. А как же компьютером обрабатываются текстовая информация – предложение, слова и буквы? Точно также как и числа – в виде последовательности нулей и единиц.
Для представления буквы в компьютере ее заменяют числовым эквивалентом, а затем переводят в двоичный код. Каждой букве соответствует своя цифра. Все буквы с их числовыми эквивалентами сведены в кодовую таблицу символов, которая может называться ASCII, Unicode, КОИ-7, КОИ-8, Windows-1251.
Таблица ASCII
Самой первой системой кодирования текстовой информации была ASCII (американский стандартный код для обмена информацией).
Таблица ASCII была разработана в США в шестидесятые годы прошлого столетия. Появление такой единой унифицированной системы кодировки символов было продиктовано необходимостью реализации компьютерного взаимодействия и обмена информацией. В то время каждый производитель вычислительной техники самостоятельно представлял буквы, цифры и управляющие коды. Только специалистами корпорации IBM применялись девять различных наборов кодировки символов.
Идея создания единой стандартизированной системы кодирования символов в виде числовых эквивалентов принадлежит американскому специалисту в области информационных технологий Роберту Уильяму Бемеру. Это он придумал экранирующий символ «Esc», обозначающий то, что следующий после него символ, имеет некоторое другое значение, не такое как ему назначено в таблице ASCII.
Первоначально таблица использовалась для кодировки только 128 знаков, затем была расширена до 256 символов. Первые тридцать два символа в таблице ASCI не имеют печатных эквивалентов и используются для управления. Числа в диапазоне 32 –127 предназначены для кодирования прописных и строчных латинских букв, цифр и знаков препинания.
Знак пробела имеет код 32 и также является печатным символом. Проверить соответствие символа печатному коду легко. Для этого можно воспользоваться простейшим текстовым редактором Блокнот в группе программ Стандартные операционной системы Windows. Нажав одновременно функциональную клавишу Alt и введя код символа – десятичное число, в окне редактора на месте расположения курсора будет напечатан соответствующий символ.
Национальные версии таблицы ASCII
Таблица ASCII в интервале символов от 0 до 127 остается неизменной для любых программ. Диапазон кодовых значений от 128 до 255 может варьироваться в зависимости от языковых и национальных особенностей.
Существуют различные национальные варианты системы кодирования. Для кодирования букв русского алфавита используются:
Unicode
Unicode представляет собой промышленный стандарт для кодирования символов всех письменных языков мира. Он был предложен в 1991 году некоммерческой организацией Unicode Consortium.
Кодовое пространство Unicode разделено на несколько областей. Диапазон кодовых значений от 0 до 127 полностью дублирует кодовую систему ASCII. Затем располагаются области знаков разных языков, пунктуационные знаки и некоторые технические символы.
Unicode имеет несколько форм представления: UTF-8, UTF-16 и UTF-32.
Что мы узнали?
Для представления символьных значений в ЭВМ используются таблицы кодирования символов. Каждому символу в такой таблице соответствует числовое значение. Использование стандартизированных кодовых таблиц позволило обеспечить взаимодействие и информационный обмен между средствами вычислительной техники.
Представление символов, таблицы кодировок
Содержание
Представление символов в вычислительных машинах [ править ]
В вычислительных машинах символы не могут храниться иначе, как в виде последовательностей бит (как и числа). Для передачи символа и его корректного отображения ему должна соответствовать уникальная последовательность нулей и единиц. Для этого были разработаны таблицы кодировок.
Таблицы кодировок [ править ]
На заре компьютерной эры на каждый символ было отведено по пять бит. Это было связано с малым количеством оперативной памяти на компьютерах тех лет. В эти [math]32[/math] символа входили только управляющие символы и строчные буквы английского алфавита.
С ростом производительности компьютеров стали появляться таблицы кодировок с большим количеством символов. Первой семибитной кодировкой стала ASCII7. В нее уже вошли прописные буквы английского алфавита, арабские цифры, знаки препинания. Затем на ее базе была разработана ASCII8, в которым уже стало возможным хранение [math]256[/math] символов: [math]128[/math] основных и еще столько же расширенных. Первая часть таблицы осталась без изменений, а вторая может иметь различные варианты (каждый имеет свой номер). Эта часть таблицы стала заполняться символами национальных алфавитов.
Но для многих языков (например, арабского, японского, китайского) [math]256[/math] символов недостаточно, поэтому развитие кодировок продолжалось, что привело к появлению UNICODE.
Кодировки стандарта ASCII [ править ]
Определение: |
ASCII — таблицы кодировок, в которых содержатся основные символы (английский алфавит, цифры, знаки препинания, символы национальных алфавитов(свои для каждого региона), служебные символы) и длина кода каждого символа [math]n = 8[/math] бит. |
Кодировки стандарта ASCII ( [math]8[/math] бит):
Структурные свойства таблицы [ править ]
Кодировки стандарта UNICODE [ править ]
Юникод или Уникод (англ. Unicode) — это промышленный стандарт обеспечивающий цифровое представление символов всех письменностей мира, и специальных символов.
Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium, Unicode Inc.). Применение этого стандарта позволяет закодировать очень большое число символов из разных письменностей. Стандарт состоит из двух основных разделов: универсальный набор символов (англ. UCS, universal character set) и семейство кодировок (англ. UTF, Unicode transformation format). Универсальный набор символов задаёт однозначное соответствие символов кодам — элементам кодового пространства, представляющим неотрицательные целые числа.Семейство кодировок определяет машинное представление последовательности кодов UCS.
Коды в стандарте Unicode разделены на несколько областей. Область с кодами от U+0000 до U+007F содержит символы набора ASCII с соответствующими кодами. Далее расположены области знаков различных письменностей, знаки пунктуации и технические символы. Под символы кириллицы выделены области знаков с кодами от U+0400 до U+052F, от U+2DE0 до U+2DFF, от U+A640 до U+A69F. Часть кодов зарезервирована для использования в будущем.
Кодовое пространство [ править ]
Хотя формы записи UTF-8 и UTF-32 позволяют кодировать до [math]2^<31>[/math] [math](2\ 147\ 483\ 648)[/math] кодовых позиций, было принято решение использовать лишь [math]1\ 112\ 064[/math] для совместимости с UTF-16. Впрочем, даже и этого на текущий момент более чем достаточно — в версии 6.0 используется чуть менее [math]110\ 000[/math] кодовых позиций ( [math]109\ 242[/math] графических и [math]273[/math] прочих символов).
Кодовое пространство разбито на [math]17[/math] плоскостей (англ. planes) по [math]2^<16>[/math] [math](65\ 536)[/math] символов. Нулевая плоскость называется базовой, в ней расположены символы наиболее употребительных письменностей. Первая плоскость используется, в основном, для исторических письменностей, вторая — для для редко используемых иероглифов китайского письма, третья зарезервирована для архаичных китайских иероглифов. Плоскости [math]15[/math] и [math]16[/math] выделены для частного употребления.
Плоскости Юникода | ||
---|---|---|
Плоскость | Название | Диапазон символов |
Plane 0 | Basic multilingual plane (BMP) | U+0000…U+FFFF |
Plane 1 | Supplementary multilingual plane (SMP) | U+10000…U+1FFFF |
Plane 2 | Supplementary ideographic plane (SIP) | U+20000…U+2FFFF |
Planes 3-13 | Unassigned | U+30000…U+DFFFF |
Plane 14 | Supplementary special-purpose plane (SSP) | U+E0000…U+EFFFF |
Planes 15-16 | Supplementary private use area (S PUA A/B) | U+F0000…U+10FFFF |
Модифицирующие символы [ править ]
Графические символы в Юникоде делятся на протяжённые и непротяжённые. Непротяжённые символы при отображении не занимают дополнительного места в строке. К примеру, к ним относятся знак ударения. Протяжённые и непротяжённые символы имеют собственные коды, но последние не могут встречаться самостоятельно. Протяжённые символы называются базовыми (англ. base characters), а непротяженные — модифицирующими (англ. combining characters). Например символ «Й» (U+0419) может быть представлен в виде базового символа «И» (U+0418) и модифицирующего символа « ̆» (U+0306).
Способы представления [ править ]
Юникод имеет несколько форм представления (англ. Unicode Transformation Format, UTF): UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). Была разработана также форма представления UTF-7 для передачи по семибитным каналам, но из-за несовместимости с ASCII она не получила распространения и не включена в стандарт.
UTF-8 [ править ]
Символы UTF-8 получаются из Unicode cледующим образом:
Unicode | UTF-8 | Представленные символы |
---|---|---|
0x00000000 — 0x0000007F | 0xxxxxxx | ASCII, в том числе английский алфавит, простейшие знаки препинания и арабские цифры |
0x00000080 — 0x000007FF | 110xxxxx 10xxxxxx | кириллица, расширенная латиница, арабский алфавит, армянский алфавит, греческий алфавит, еврейский алфавит и коптский алфавит; сирийское письмо, тана, нко; Международный фонетический алфавит; некоторые знаки препинания |
0x00000800 — 0x0000FFFF | 1110xxxx 10xxxxxx 10xxxxxx | все другие современные формы письменности, в том числе грузинский алфавит, индийское, китайское, корейское и японское письмо; сложные знаки препинания; математические и другие специальные символы |
0x00010000 — 0x001FFFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | музыкальные символы, редкие китайские иероглифы, вымершие формы письменности |
111111xx | служебные символы c, d, e, f |
Несмотря на то, что UTF-8 позволяет указать один и тот же символ несколькими способами, только наиболее короткий из них правильный. Остальные формы, называемые overlong sequence, отвергаются по соображениям безопасности.
Принцип кодирования [ править ]
Правила записи кода одного символа в UTF-8 [ править ]
1. Если размер символа в кодировке UTF-8 = [math]1[/math] байт
Код имеет вид (0aaa aaaa), где «0» — просто ноль, остальные биты «a» — это код символа в кодировке ASCII;
2. Если размер символа в кодировке в UTF-8 [math]\gt 1[/math] байт (то есть от [math]2[/math] до [math]6[/math] ):
2.1 Первый байт содержит количество байт символа, закодированное в единичной системе счисления; 2.2 «0» — бит терминатор, означающий завершение кода размера 2.3 далее идут значащие байты кода, которые имеют вид (10xx xxxx), где «10» — биты признака продолжения, а «x» — значащие биты.
В общем случае варианты представления одного символа в кодировке UTF-8 выглядят так:
Определение длины кода в UTF-8 [ править ]
Количество байт UTF-8 | Количество значащих бит |
---|---|
[math]1[/math] | [math]7[/math] |
[math]2[/math] | [math]11[/math] |
[math]3[/math] | [math]16[/math] |
[math]4[/math] | [math]21[/math] |
[math]5[/math] | [math]26[/math] |
[math]6[/math] | [math]31[/math] |
[math]C = 7[/math] при [math]n=1[/math]
[math]C = n\cdot5+1[/math] при [math]n\gt 1[/math]
UTF-16 [ править ]
UTF-16LE и UTF-16BE [ править ]
Один символ кодировки UTF-16 представлен последовательностью двух байт или двух пар байт. Который из двух байт в словах идёт впереди, старший или младший, зависит от порядка байт. Подробнее об этом будет сказано ниже.
UTF-32 [ править ]
UTF-32 — один из способов кодирования символов из Юникод, использующий для кодирования любого символа ровно [math]32[/math] бита. Остальные кодировки, UTF-8 и UTF-16, используют для представления символов переменное число байт. Символ UTF-32 является прямым представлением его кодовой позиции (англ. code point).
Главный недостаток UTF-32 — это неэффективное использование пространства, так как для хранения символа используется четыре байта. Символы, лежащие за пределами нулевой (базовой) плоскости кодового пространства редко используются в большинстве текстов. Поэтому удвоение, в сравнении с UTF-16, занимаемого строками в UTF-32 пространства не оправдано.
Порядок байт [ править ]
В современной вычислительной технике и цифровых системах связи информация обычно представлена в виде последовательности байт. В том случае, если число не может быть представлено одним байтом, имеет значение в каком порядке байты записываются в памяти компьютера или передаются по линиям связи. Часто выбор порядка записи байт произволен и определяется только соглашениями.
[math]M = \sum_^
Варианты записи [ править ]
Порядок от старшего к младшему [ править ]
В этом же виде (используя представление в десятичной системе счисления) записываются числа индийско-арабскими цифрами в письменностях с порядком знаков слева направо (латиница, кириллица). Для письменностей с обратным порядком (арабская) та же запись числа воспринимается как «от младшего к старшему».
Порядок байт от старшего к младшему применяется во многих форматах файлов — например, PNG, FLV, EBML.
Порядок от младшего к старшему [ править ]
В противоположность порядку big-endian, соглашение little-endian поддерживают меньше кросс-платформенных протоколов и форматов данных; существенные исключения: USB, конфигурация PCI, таблица разделов GUID, рекомендации FidoNet.
Переключаемый порядок [ править ]
Многие процессоры могут работать и в порядке от младшего к старшему, и в обратном, например, ARM, PowerPC (но не PowerPC 970), DEC Alpha, MIPS, PA-RISC и IA-64. Обычно порядок байт выбирается программно во время инициализации операционной системы, но может быть выбран и аппаратно перемычками на материнской плате. В этом случае правильнее говорить о порядке байт операционной системы. Переключаемый порядок байт иногда называют англ. bi-endian.
Смешанный порядок [ править ]
Смешанный порядок байт (англ. middle-endian) иногда используется при работе с числами, длина которых превышает машинное слово. Число представляется последовательностью машинных слов, которые записываются в формате, естественном для данной архитектуры, но сами слова следуют в обратном порядке.
В процессорах VAX и ARM используется смешанное представление для длинных вещественных чисел.
Различия [ править ]
Для записи длинных чисел (чисел, длина которых существенно превышает разрядность машины) обычно предпочтительнее порядок слов в числе little-endian (поскольку арифметические операции над длинными числами производятся от младших разрядов к старшим). Порядок байт в слове — обычный для данной архитектуры.
Маркер последовательности байт [ править ]
Для определения формата представления Юникода в начало текстового файла записывается сигнатура — символ U+FEFF (неразрывный пробел с нулевой шириной), также именуемый маркером последовательности байт (англ. byte order mark (BOM)). Это позволяет различать UTF-16LE и UTF-16BE, поскольку символа U+FFFE не существует.
Кодирование | Представление (Шестнадцатеричное) |
---|---|
UTF-8 | EF BB BF |
UTF-16 (BE) | FE FF |
UTF-16 (LE) | FF FE |
UTF-32 (BE) | 00 00 FE FF |
UTF-32 (LE) | FF FE 00 00 |
В кодировке UTF-8, наличие BOM не является существенным, поскольку, нет альтернативной последовательности байт. Когда BOM используется на страницах или редакторах для контента закодированного в UTF-8, иногда он может представить пробелы или короткие последовательности символов, имеющие странный вид (такие как ). Именно поэтому, при наличии выбора, для совместимости, как правило, лучше упустить BOM в UTF-8 контенте.Однако BOM могут еще встречаться в тексте закодированном в UTF-8, как побочный продукт перекодирования или потому, что он был добавлен редактором. В этом случае BOM часто называют подписью UTF-8.
Когда символ закодирован в UTF-16, его [math]2[/math] или [math]4[/math] байта можно упорядочить двумя разными способами (little-endian или big-endian). Изображение справа показывает это. Byte order mark указывает, какой порядок используется, так что приложения могут немедленно расшифровать контент. UTF-16 контент должен всегда начинатся с BOM.
BOM также используется для текста обозначенного как UTF-32. Аналогично UTF-16 существует два варианта четырёхбайтной кодировки — UTF-32BE и UTF-32LE. К сожалению, этот способ не позволяет надёжно различать UTF-16LE и UTF-32LE, поскольку символ U+0000 допускается Юникодом
Проблемы Юникода [ править ]
В Юникоде английское «a» и польское «a» — один и тот же символ. Точно так же одним символом (но отличающимся от «a» латинского) считаются русское «а» и сербское «а». Такой принцип кодирования не универсален; по-видимому, решения «на все случаи жизни» вообще не может существовать.
Примеры [ править ]
Кодовая таблица
Смотреть что такое «Кодовая таблица» в других словарях:
Кодовая таблица — таблица соответствий символов и их компьютерных кодов. В РФ распространены следующие кодировки: WIN1251 (Windows), KOI 8 (Unix), СP866 (DOS), Macintosh, ISO 8859 5 (Unix). По английски: Code table См. также: Компьютерные программы Финансовый… … Финансовый словарь
кодовая таблица — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN code table … Справочник технического переводчика
кодовая таблица Unicode — Стандарт ISO 10646 кодирования символов всех национальных алфавитов. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом … Справочник технического переводчика
Кодовая страница — (англ. code page) таблица, сопоставляющая каждому значению байта некоторый символ (или его отсутствие). Обычно код символа имеет размер 8 бит, так что кодовая страница может содержать максимум 256 символов, из чего вытекает резкая… … Википедия
кодтық кесте — (Кодовая таблица) әскерді жасырын басқару құжаты, кодтық кесте бойынша берілетін жауынгерлік құжаттар кодталады және байланыстың электрлік құралдары көмегімен хабарласу жүргізіледі. К.к ні құрама штабы жеке ұрыс немесе операцияға арнап дайындайды … Казахский толковый терминологический словарь по военному делу
импульсный код — кодовая таблица кодовая матрица — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы кодовая таблицакодовая матрица EN pulse code … Справочник технического переводчика
CP852 — кодовая страница для MS DOS и подобных ей операционных систем. Включает все символы из набора ISO 8859 2. Ранее широко использовалась для восточноевропейских языков, использующих латиницу: сербохорватского, словенского, чешского, словацкого,… … Википедия
Хирагана — ひらがな Тип: слоговое Языки: японский, рюкюски … Википедия
じ — Хирагана ひらがな Тип: слоговое Языки: японский, рюкюский Период: с VIII века н.э. по настоящее время Происхождение: Кандзи Манъёгана … Википедия
ず — Хирагана ひらがな Тип: слоговое Языки: японский, рюкюский Период: с VIII века н.э. по настоящее время Происхождение: Кандзи Манъёгана … Википедия