Стандарт Unicode был разработан с целью создания единой кодировки символов всех современных
и многих древних письменных языков. Каждый символ в этом стандарте кодируется 16 битами, что
позволяет ему охватить несравненно большее количество символов, чем принятые ранее 7- и 8-битовые
кодировки. Еще одним важным отличием Unicode от других систем кодировки является то, что он
не только приписывает каждому символу уникальный код, но и определяет различные характеристики
этого символа, например:
- тип символа (прописная буква, строчная буква, цифра, знак препинания и т. д.);
- атрибуты символа (отображение слева направо или справа налево, пробел, разрыв строки и т. д.);
- соответствующая прописная или строчная буква (для строчных и прописных букв соответственно);
- соответствующее числовое значение (для цифровых символов).
Подробное описание стандарта Unicode можно найти по адресу http://www.unicode.org/
.
См. также WDH+:
О кодировках символов
и Unicode и письменности мира.
Весь диапазон кодов от 0 до FFFF разбит на несколько стандартных подмножеств, каждое
из которых соответствует либо алфавиту какого-то языка, либо группе специальных символов, сходных
по своим функциям. В приведенной ниже таблице содержится перечень всех подмножеств Unicode 3.0.
В таблице использованы следующие сокращения:
- IPA = International Phonetical Alphabet = Международная фонетическая транскрипция;
- CJK = China, Japan & Korea = Китай, Япония и Корея.
Таблица П3.1. Стандартные подмножества Unicode 3.0
Диапазон |
Описание |
Коды UTF-8 |
00 7F |
Basic Latin |
Базовая латиница |
00 7F |
80 FF |
Latin-1 Supplement |
Латиница-1 дополнительная |
C2 80 C3 BF |
100 17F |
Latin Extended-A |
Расширенная латиница-A |
C4 80 C5 BF |
180 24F |
Latin Extended-B |
Расширенная латиница-B |
C6 80 C9 8F |
250 2AF |
IPA Extensions |
Фонетические знаки |
C9 90 CA AF |
2B0 2FF |
Spacing Modifier Letters |
Символы изменения пробела |
CA B0 CB BF |
300 36F |
Combining Diacritical Marks |
Диакритические знаки |
CC 80 CD AF |
370 3FF |
Greek |
Греческое и коптское письмо |
CD B0 CF BF |
400 4FF |
Cyrillic |
Кириллица |
D0 80 D3 BF |
500 52F |
резерв |
D4 80 D4 AF |
530 58F |
Armenian |
Армянское письмо |
D4 B0 D6 8F |
590 5FF |
Hebrew |
Ивритское письмо |
D6 90 D7 BF |
600 6FF |
Arabic |
Арабское письмо |
D8 80 DB BF |
700 74F |
Syriac |
Сирийское письмо |
DC 80 DD 8F |
750 77F |
резерв |
DD 90 DD BF |
780 7BF |
Thaana |
Тана (мальдивское письмо) |
DE 80 DE BF |
7C0 8FF |
резерв |
DF 80 E0 A3 BF |
900 97F |
Devanagari |
Деванагари |
E0 A4 80 E0 A5 BF |
980 9FF |
Bengali |
Бенгали |
E0 A6 80 E0 A7 BF |
A00 A7F |
Gurmukhi |
Гурмукхи |
E0 A8 80 E0 A9 BF |
A80 AFF |
Gujarati |
Гуджарати |
E0 AA 80 E0 AB BF |
B00 B7F |
Oriya |
Ория |
E0 AC 80 E0 AD BF |
B80 BFF |
Tamil |
Тамили |
E0 AE 80 E0 AF BF |
C00 C7F |
Telugu |
Телугу |
E0 B0 80 E0 B1 BF |
C80 CFF |
Kannada |
Каннада |
E0 B2 80 E0 B3 BF |
D00 D7F |
Malayalam |
Малаялам |
E0 B4 80 E0 B5 BF |
D80 DFF |
Sinhala |
Сингальское письмо |
E0 B6 80 E0 B7 BF |
E00 E7F |
Thai |
Тайское (сиамское) письмо |
E0 B8 80 E0 B9 BF |
E80 EFF |
Lao |
Лаосское письмо |
E0 BA 80 E0 BB BF |
F00 FFF |
Tibetan |
Тибетское письмо |
E0 BC 80 E0 BF BF |
1000 109F |
Myanmar |
Бирманское письмо |
E1 80 80 E1 82 9F |
10A0 10FF |
Georgian |
Грузинское письмо |
E1 82 A0 E1 83 BF |
1100 11FF |
Hangul Jamo |
Корейское письмо |
E1 84 80 E1 87 BF |
1200 137F |
Ethiopic |
Эфиопское письмо |
E1 88 80 E1 8D BF |
1380 139F |
резерв |
E1 8E 80 E1 8E 9F |
13A0 13FF |
Cherokee |
Чероки письмо |
E1 8E A0 E1 8F BF |
1400 167F |
Unified Canadian Aboriginal Syllabics |
Слоговое письмо алгонкинских народов |
E1 90 80 E1 99 BF |
1680 169F |
Ogham |
Огамическое письмо |
E1 9A 80 E1 9A 9F |
16A0 16FF |
Runic |
Руническое письмо |
E1 9A A0 E1 9B BF |
1700 177F |
резерв |
E1 9C 80 E1 9D BF |
1780 17FF |
Khmer |
Кхмерское письмо |
E1 9E 80 E1 9F BF |
1800 18AF |
Mongolian |
Монгольское письмо |
E1 A0 80 E1 A2 AF |
18B0 1DFF |
резерв |
E1 A2 B0 E1 B7 BF |
1E00 1EFF |
Latin Extended Additional |
Дополнительная латиница |
E1 B8 80 E1 BB BF |
1F00 1FFF |
Greek Extended |
Греческое расширенное письмо |
E1 BC 80 E1 BF BF |
2000 206F |
General Punctuation |
Знаки пунктуации |
E2 80 80 E2 81 AF |
2070 209F |
Subscripts and Superscripts |
Верхние и нижние индексы |
E2 81 B0 E2 82 9F |
20A0 20CF |
Currency Symbols |
Денежные символы |
E2 82 A0 E2 83 8F |
20D0 20FF |
Combining Diacritical Marks for Symbols |
Диакритические знаки для символов |
E2 83 90 E2 83 BF |
2100 214F |
Letterlike Symbols |
Буквенные символы |
E2 84 80 E2 85 8F |
2150 218F |
Number Forms |
Числовые символы |
E2 85 90 E2 86 8F |
2190 21FF |
Arrows |
Стрелки |
E2 86 90 E2 87 BF |
2200 22FF |
Mathematical Operators |
Математические операторы |
E2 88 80 E2 8B BF |
2300 23FF |
Miscellaneous Technical |
Технические символы |
E2 8C 80 E2 8F BF |
2400 243F |
Control Pictures |
Значки управляющих кодов |
E2 90 80 E2 90 BF |
2440 245F |
Optical Character Recognition |
Оптическое распознавание образов |
E2 91 80 E2 91 9F |
2460 24FF |
Enclosed Alphanumerics |
Буквы и цифры в кружочках |
E2 91 A0 E2 93 BF |
2500 257F |
Box Drawing |
Символы рамок |
E2 94 80 E2 95 BF |
2580 259F |
Block Elements |
Символы заполнения |
E2 96 80 E2 96 9F |
25A0 25FF |
Geometric Shapes |
Геометрические символы |
E2 96 A0 E2 97 BF |
2600 26FF |
Miscellaneous Symbols |
Различные значки |
E2 98 80 E2 9B BF |
2700 27BF |
Dingbats |
Значки Dingbats |
E2 9C 80 E2 9E BF |
27C0 27FF |
резерв |
E2 9F 80 E2 9F BF |
2800 28FF |
Braille Patterns |
Шрифт Брайля |
E2 A0 80 E2 A3 BF |
2900 2E7F |
резерв |
E2 A4 80 E2 B9 BF |
2E80 2EFF |
CJK Radicals Supplement |
Дополнительные ключи к иероглифам |
E2 BA 80 E2 BB BF |
2F00 2FDF |
Kangxi Radicals |
Кандзи (ключи к иероглифам) |
E2 BC 80 E2 BF 9F |
2FE0 2FEF |
резерв |
E2 BF A0 E2 BF AF |
2FF0 2FFF |
Ideographic Description Characters |
Описания идеограмм |
E2 BF B0 E2 BF BF |
3000 303F |
CJK Symbols and Punctuation |
Идеографические символы и знаки препинания |
E3 80 80 E3 80 BF |
3040 309F |
Hiragana |
Хирагана (японское письмо) |
E3 81 80 E3 82 9F |
30A0 30FF |
Katakana |
Катакана (японское письмо) |
E3 82 A0 E3 83 BF |
3100 312F |
Bopomofo |
Китайское слоговое письмо |
E3 84 80 E3 84 AF |
3130 318F |
Hangul Compatibility Jamo |
Корейское совместимое письмо |
E3 84 B0 E3 86 8F |
3190 319F |
Kanbun |
Камбун |
E3 86 90 E3 86 9F |
31A0 31BF |
Bopomofo Extended |
Китайское расширенное слоговое письмо |
E3 86 A0 E3 86 BF |
31C0 31FF |
резерв |
E3 87 80 E3 87 BF |
3200 32FF |
Enclosed CJK Letters and Months |
Дальневосточные буквы и месяцы в кружочках |
E3 88 80 E3 8B BF |
3300 33FF |
CJK Compatibility |
Дальневосточные совместимые символы |
E3 8C 80 E3 8F BF |
3400 4DB5 |
CJK Unified Ideographs Extension A |
Унифицированные иероглифы, расширение А |
E3 90 80 E4 B6 B5 |
4DB6 4DFF |
резерв |
E4 B6 B6 E4 B7 BF |
4E00 9FFF |
CJK Unified Ideographs |
Унифицированные иероглифы |
E4 B8 80 E9 BF BF |
A000 A48F |
Yi Syllables |
Слоговое письмо ицзу (и) |
EA 80 80 EA 92 8F |
A490 A4CF |
Yi Radicals |
Ключи письма ицзу (и) |
EA 92 90 EA 93 8F |
A4D0 ABFF |
резерв |
EA 93 90 EA AF BF |
AC00 D7A3 |
Hangul Syllables |
Корейское слоговое письмо |
EA B0 80 ED 9E A3 |
D7A4 D7FF |
резерв |
ED 9E A4 ED 9F BF |
D800 DB7F |
High Surrogates |
Первый байт суррогатных символов |
ED A0 80 ED AD BF |
DB80 DBFF |
High Private Use Surrogates |
Первый байт личных суррогатных символов |
ED AE 80 ED AF BF |
DC00 DFFF |
Low Surrogates |
Второй байт суррогатных символов |
ED B0 80 ED BF BF |
E000 F8FF |
Private Use Area |
Область личных символов |
EE 80 80 EF A3 BF |
F900 FAFF |
CJK Compatibility Ideographs |
Совместимые иероглифы |
EF A4 80 EF AB BF |
FB00 FB4F |
Alphabetic Presentation Forms |
Декоративные варианты букв |
EF AC 80 EF AD 8F |
FB50 FDFF |
Arabic Presentation Forms-A |
Арабское декоративное письмо-A |
EF AD 90 EF B7 BF |
FE00 FE1F |
резерв |
EF B8 80 EF B8 9F |
FE20 FE2F |
Combining Half Marks |
Диакритические знаки половинной ширины |
EF B8 A0 EF B8 AF |
FE30 FE4F |
CJK Compatibility Forms |
Декоративные дальневосточные формы |
EF B8 B0 EF B9 8F |
FE50 FE6F |
Small Form Variants |
Малые варианты символов |
EF B9 90 EF B9 AF |
FE70 FEFE |
Arabic Presentation Forms-B |
Арабское декоративное письмо-B |
EF B9 B0 EF BB BE |
FEFF |
Zero Width No-break Space |
Неразрывный пробел нулевой ширины |
EF BB BF |
FF00 FFEF |
Halfwidth and Fullwidth Forms |
Символы полной и половинной ширины |
EF BC 80 EF BF AF |
FFF0 FFFD |
Specials |
Специальные символы |
EF BF B0 EF BF BD |
FFFE FFFF |
не используются |
EF BF BE EF BF BF |
Стандарт Unicode является основой для хранения и текста во многих современных компьютерных
системах. Однако, он не совместим с большинством Интернет-протоколов, поскольку его коды могут
содержать любые байтовые значения, а протоколы обычно используют байты 00 - 1F и FE - FF в качестве
служебных. Для достижения совместимости были разработаны несколько форматов преобразования
Unicode (UTFs, Unicode Transformation Formats), из которых на сегодня наиболее распространенным
является UTF-8. Этот формат определяет следующие правила преобразования каждого кода Unicode
в набор байтов (от одного до трех), пригодных для транспортировки Интернет-протоколами.
Диапазон Unicode |
Двоичный код символа |
Байты UTF-8 (двоичные) |
0000 - 007F |
00000000 0zzzzzzz |
0zzzzzzzz |
0080 - 07FF |
00000yyy yyzzzzzz |
110yyyyy 10zzzzzz |
0800 - FFFF |
xxxxyyyy yyzzzzzz |
1110xxxx 10yyyyyy 10zzzzzz |
Здесь x,y,z обозначают биты исходного кода, которые должны извлекаться, начиная с младшего,
и заноситься в байты результата справа налево, пока не будут заполнены все указанные позиции.
Подробное описание формата UTF-8 содержится в RFC
2279 .
Дальнейшее развитие стандарта Unicode связано с добавлением новых языковых плоскостей, т. е.
символов в диапазонах 10000 - 1FFFF, 20000 - 2FFFF и т. д., куда предполагается включать кодировку для письменностей
мертвых языков, не попавших в таблицу, приведенную выше. Для кодирования этих дополнительных символов
был разработан новый формат UTF-16 (см. RFC 2781
).
Мы не приводим его подробного описания по единственной причине: для базовой языковой плоскости, т. е. для
символов с кодами от 0000 до FFFF, он совпадает с Unicode. Поэтому, если вы не собираетесь писать Веб-страницы
на языке шумеров или майя, можете смело отождествлять два эти формата.
|