up next index search
   UP: 10.19 Символьный набор HTML. Unicode
    Next: 10.19.2 Коды символов ASCII

10.19.1 Таблицы символьных кодов стандарта ISO/IEC 8859

Семенов Ю.А. (ИТЭФ-МФТИ)
Yu. Semenov (ITEP-MIPT)

Полный набор языковых символов, которым оперирует человечество превосходит миллион. Unicode консорциум и рабочая группа ISO/IEC 10646 (UCS - Unicode Character Set) к настоящему времени стандартизовали около 10000 кодов-символов. Существуют 8-битовые символьные наборы - UTF-8, 16-битовые - UTF-16 (UCS-2), 32-битовые - UTF-32 (или UCS-4). Первые 256 символов Unicode и UCS идентифицируются как ISO-8859-1. Ниже рассматриваются сивольные наборы, которые характеризуются 8-битовыми кодами (ISO/IEC 8859-1).

Кодовый набор ISO/IEC 8859 является совместным стандартом ISO/IEC 8859 на 8-битовые коды символов. Стандарт предназначен для надежного информационного обмена, а не для типографий, где требуется много дополнительных кодов-символов (например, опционные лигатуры)Стандарт делится на несколько частей, которые описывают отдельные символьные субнаборы, например, ISO 8859-1. В настоящее время он содержит в себе 15 таких субнаборов (ISO 8859-n). Первоначально стандарт был разработан ISO. Рабочая группа ISO/IEC, ответственная за все 8-битовые символьные наборы в июне 2004 года переключила внимание на UCS (Universal Character Set) и Unicode. К набору UCS относятся UTF-8 и UTF-16, которые приобретают все более широкое поле применения. Хотя набор из 95 печатных ASCII символов достаточно для информационного обмена для любых языков, использующих латинский алфавит, многие языки требуют дополнительных символов.

Кодовый набор ISO 8859-1 (Latin-1) базировался на мультинациональном шрифтовом наборе, использованном компанией DEC в популярном терминале VT220. Он был разработан в рамках ECMA (European Computer Manufecturers Association) и опубликован в марте 1985 года (ECMA-94). Второе издание ECMA (июнь 1986) включало в себя ISO 8859-2, ISO 8859-3, и ISO 8859-4.

Хотя ISO/IEC 8859-1 содержит в себе достаточно символов для большинства французских текстов, нескольких букв все же не хватает, нет там и символа евро и некоторых других, да и при транскрипции некоторых имен в финском приходится использовать две буквы вместо одной. Для того чтобы пополнить шрифровое многообразие был разработан набор ISO/IEC 8859-15 (удалены некоторые редко используемые символы, например, ¤ ¦ ¨ ´ ¸ ¼ ½ ¾). Дополненный символами с шестнадцатиричными кодами между 0x80 и 0x9F он стал основой двух известных стандартов ISO-8859-1 и Windows-1252.

Кодовый набор ISO 8859-1 использует исключительно 8-битовое представление и содержит в себе 191 символ и используется в наибольшем числе стран.

Этот шрифтовой набор используется в следующих современных языках:


африкаансгалицийскийOccitan
албанскийнемецкийпортугальский
баскскийисландскийрето-романский
бретонскийирландскийшотландский
каталонскийитальянскийиспанский
английскийлюксембургскийсуахили
Faroeseнорвежскийвалонский

Таблица кодов символов ISO/IEC 8859-1

ISO/IEC 8859-1
 x0x1x2x3x4x5x6x7x8x9 xAxBxCxDxExF
0xНе используется
1x
2xSP!"#$%&'()*+ ,-./
3x0123456789:; <=>?
4x@ABCDEFGHIJK LMNO
5xPQRSTUVWXYZ[ \]^_
6x`abcdefghijk lmno
7xpqrstuvwxyz{ |}~ 
8xНе используется
9x
Axnbsp¡¢£¤¥¦§ ¨©ª«¬shy®¯
Bxº±²³´µ· ¸¹º»¼½¾¿
CxÀÁÂÃÄÅÆÇ ÈÉÊËÌÍÎÏ
DxÐÑÒÓÔÕÖ× ØÙÚÛÜÝÞß
Exàáâãäåæç èéêëìíîï
Fxðñòóôõö÷ øùúûüýþÿ

SP - пробел; nbsp - неразрывваемый пробел; shy - мягкий знак переноса (дефис). ESC (1B) - символ эскейп. Букве L соответствует код 4C (4 - номер строки, С - номер столбца). Символ NUL (00) обычно используется в качестве терминатора строк в некоторых языках программирования. Данный символьный набор воспринимается всеми приложениями HTTP, а также системами X-Window и большинством UNIX-машин. Следует учитывать, что этот набор по умолчанию используется в HTML до версии 3.2, а версия HTML 4.0 базируется на Unicode. Коды 00-1F, 7F и 80-9F соответствуют управляющим символам.

В документах, кодированных с использованием ISO/IEC 8859-1, не используются ESC-последовательности (ISO/IEC 6429 или ISO/IEC 2022).

Синонимами ISO/IEC 8859-1 являются ISO_8859-1, ISO-8859-1, is0-ir-100, csISOLatin1, l1, IBM819 и CP819.. Набор ISO/IEC 8859-1 включается в качестве первых 256 символов в стандарт ISO/IEC 10646 и Unicode.

Заметим, что большинство управляющих символов не предназначено для использования в чисто текстовых документах (plain text). Они ориентированы на применение в протоколах или приборах, исключение составляет несколько стандартизованных символов: TAB (09), LF (0A), CR (0D), NEL (85) и может быть FF (0C). Некоторые символьные наборы допускают использование BS (08).

Символьный набор Windows-1252 предполагает использование кодов между 0x80 и 0х9F для букв и пунктуации, в то время как в ISO/IEC 8859-1 они выполняют функцию управляющих кодов.


Таблица управляющих кодов

Code
point
Control
character
Abbreviation
00Null characterNUL
01Start of HeadingSOH
02Start of TextSTX
03End of TextETX
04End of TransmissionEOT
05EnquiryENQ
06AcknowledgeACK
07Bell characterBEL
08BackspaceBS
09TabTAB
0ALine FeedLF
0BVertical TabVT
0CForm FeedFF
0DCarriage ReturnCR
0EShift OutSO
0FShift InSI
10Data Link EscapeDLE
11Device Control 1DC1
12Device Control 2DC2
13Device Control 3DC3
14Device Control 4DC4
15Negative-acknowledge
character
NAK
16Synchronous IdleSYN
17End of Transmission
Block
ETB:
18Cancel characterCAN
19End of MediumEM
1ASubstitute (character)SUB
1BEscape characterESC
1CFile SeparatorFS
1DGroup SeparatorGS
1ERecord SeparatorRS
1FUnit SeparatorUS
7FDeleteDEL
 
Code
point
Control
character
Abbrevi-ation
80Padding CharacterPAD
81High Octet PresetHOP
82Break Permitted HereBPH
83No Break HereNBH
84IndexIND
85Next LineNEL
86Start of Selected AreaSSA
87End of Selected AreaESA
88Character Tabulation SetHTS
89Character Tabulation
with Justification
HTJ
8ALine Tabulation SetVTS
8BPartial Line ForwardPLD
8CPartial Line BackwardPLU
8DReverse Line FeedRI
8E Single Shift 2SS2
8FSingle Shift 3SS3
90Device Control StringDCS
91Private Use 1PU1
92Private Use 2PU2
93Set Transmit StateSTS
94Cancel CharacterCCH
95Message WaitingMW
96Start of Guarded AreaSPA
97End of Guarded AreaEPA
98Start of StringSOS
99Single Graphic Character
Introducer
SGCI
9ASingle Character
Introducer
SCI
9BControl Sequence
Introducer
CSI
9CString TerminatorST
9DOperating System
Command
OSC
9EPrivacy MessagePM
9FApplication Program
Command
APC

Символьный набор ISO/IEC 8859-3 (Latin-3) предназначен для южно-европейских языков: турецкий, мальтийский и эспиранто. Синонимами этого набора являются названия iso-ir-109, ISO_8859-3, latin3, l3 и csISOLatin3.


Таблица кодов символов ISO/IEC 8859-3

ISO/IEC 8859-3
 x0x1x2x3x4x5x6x7x8x9 xAxBxCxDxExF
0xНе используется
1x
2xSP!"#$%&'()*+ ,-./
3x0123456789:; <=>?
4x@ABCDEFGHIJK LMNO
5xPQRSTUVWXYZ[ \]^_
6x`abcdefghijk lmno
7xpqrstuvwxyz{ |}~ 
8xНе используется
9x
AxnbspĦˇ£¤ Ĥ§ ¨İŞĞ Ĵshy Ż
Bxºħ²³´µĥ· ¸ışğĴ½ ż
CxÀÁ ÄĊĈÇ ÈÉÊËÌÍÎÏ
Dx ÑÒÓÔĠÖ×ĜÙÚ ÛÜŬŜß
Exàáâãäåæç èéêëìíîï
Fx ñòóôġö÷ ĝùúûüŭŝ˙

Набор символов ISO/IEC 8859-5 называется кириллическим (8-битовым), он ориентирован на использование в текстах на болгарском, белоруском, русском и украинском языках, хотя в нем нет нескольких символов, необходимых для украинского языка.

Набор ISO_8859-5:1988 более известен как ISO-8859-5 является символьным набором IANA. В него добавлены некоторые управляющие коды из ISO/IEC 6429. ESC-последовательности в рмках данного набора не интерпретируются. Этот набор идентичен наборам iso-ir-144, ISO_8859-5, cyrillic и csISOLatinCyrilic.

Символьные 8-битовые наборы KOI8-R и KOI8-U, CP866, а также Windows-1251 (для Microsoft Windows) используются пожалуй даже чаще. Другим способом отображения русских текстов является Unicode.


Таблица кодов символов ISO/IEC 8859-5

ISO/IEC 8859-5
 x0x1x2x3x4x5x6x7x8x9 xAxBxCxDxExF
0xНе используется
1x
2xSP!"#$%&'()*+ ,-./
3x0123456789:; <=>?
4x@ABCDEFGHIJK LMNO
5xPQRSTUVWXYZ[ \]^_
6x`abcdefghijk lmno
7xpqrstuvwxyz{ |}~ 
8xНе используется
9x
AxnbspËЂЃЄSIΪ JЉЊЋЌshyЎЏ
BxАБВГДЕЖЗ ИЙКЛМНОП
CxРСТУФХЦЧ ШЩЪЫЬЭЮЯ
Dxабвгдежз ийклмноп
Exрстуфхцч шщъыьэюя
Fxёђѓєsiϊ jљњћќ§ўџ

В выше приведенной таблице для отображения пробела (SP) используется код 20, а А0 служит в качестве неразрываемого пробела (nbsp), AD - мягкий перенос (SHY; разделение слогов; дефис). Коды из интервалов 0x00-0x1F, 0x7F и 0x80-0x9F в символьном наборе ISO/IEC 8859-5 не используются.


   UP: 10.19 Символьный набор HTML. Unicode
    Next: 10.19.2 Коды символов ASCII