Стандарт Unicode 3.0

Спецсимволы HTML Разные символы Математические символы Денежные символы Латинские буквы Латинские буквы с диакритическими знаками Кириллические буквы Греческие буквы Стрелки Римские цифры Стандарт Unicode 3.0

Стандарт Unicode был разработан с целью создания единой кодировки символов всех современных и многих древних письменных языков. Каждый символ в этом стандарте кодируется 16 битами, что позволяет ему охватить несравненно большее количество символов, чем принятые ранее 7- и 8-битовые кодировки. Еще одним важным отличием Unicode от других систем кодировки является то, что он не только приписывает каждому символу уникальный код, но и определяет различные характеристики этого символа, например:

Подробное описание стандарта Unicode можно найти по адресу http://www.unicode.org/.

Весь диапазон кодов от 0 до FFFF разбит на несколько стандартных подмножеств, каждое из которых соответствует либо алфавиту какого-то языка, либо группе специальных символов, сходных по своим функциям. В приведенной ниже таблице содержится перечень всех подмножеств Unicode 3.0. В таблице использованы следующие сокращения:

Стандартные подмножества Unicode 3.0
Диапазон Описание Коды UTF-8
00 — 7F 00 — 127 Basic Latin Базовая латиница 00 — 7F
80 — FF 128 — 255 Latin-1 Supplement Латиница-1 дополнительная C2 80 — C3 BF
100 — 17F 256 — 383 Latin Extended-A Расширенная латиница-A C4 80 — C5 BF
180 — 24F 384 — 591 Latin Extended-B Расширенная латиница-B C6 80 — C9 8F
250 — 2AF 592 — 687 IPA Extensions Фонетические знаки C9 90 — CA AF
2B0 — 2FF 688 — 767 Spacing Modifier Letters Символы изменения пробела CA B0 — CB BF
300 — 36F 768 — 879 Combining Diacritical Marks Диакритические знаки CC 80 — CD AF
370 — 3FF 880 — 1023 Greek Греческое и коптское письмо CD B0 — CF BF
400 — 4FF 1024 — 1279 Cyrillic Кириллица D0 80 — D3 BF
500 — 52F 1280 — 1327 резерв D4 80 — D4 AF
530 — 58F 1328 — 1423 Armenian Армянское письмо D4 B0 — D6 8F
590 — 5FF 1424— 1535 Hebrew Ивритское письмо D6 90 — D7 BF
600 — 6FF 1536— 1791 Arabic Арабское письмо D8 80 — DB BF
700 — 74F 1792— 1871 Syriac Сирийское письмо DC 80 — DD 8F
750 — 77F 1872— 1919 резерв DD 90 — DD BF
780 — 7BF 1920— 1983 Thaana Тана (мальдивское письмо) DE 80 — DE BF
7C0 — 8FF 1984— 2303 резерв DF 80 — E0 A3 BF
900 — 97F 2304— 2431 Devanagari Деванагари E0 A4 80 — E0 A5 BF
980 — 9FF 2432— 2559 Bengali Бенгали E0 A6 80 — E0 A7 BF
A00 — A7F 2560— 2687 Gurmukhi Гурмукхи E0 A8 80 — E0 A9 BF
A80 — AFF 2688— 2815 Gujarati Гуджарати E0 AA 80 — E0 AB BF
B00 — B7F 2816— 2943 Oriya Ория E0 AC 80 — E0 AD BF
B80 — BFF 2944— 3071 Tamil Тамили E0 AE 80 — E0 AF BF
C00 — C7F 3072— 3199 Telugu Телугу E0 B0 80 — E0 B1 BF
C80 — CFF 3200— 3327 Kannada Каннада E0 B2 80 — E0 B3 BF
D00 — D7F 3328— 3455 Malayalam Малаялам E0 B4 80 — E0 B5 BF
D80 — DFF 3456— 3583 Sinhala Сингальское письмо E0 B6 80 — E0 B7 BF
E00 — E7F 3584— 3711 Thai Тайское (сиамское) письмо E0 B8 80 — E0 B9 BF
E80 — EFF 3712— 3839 Lao Лаосское письмо E0 BA 80 — E0 BB BF
F00 — FFF 3840— 4095 Tibetan Тибетское письмо E0 BC 80 — E0 BF BF
1000 — 109F 4096— 4255 Myanmar Бирманское письмо E1 80 80 — E1 82 9F
10A0 — 10FF 4256— 4351 Georgian Грузинское письмо E1 82 A0 — E1 83 BF
1100 — 11FF 4352— 4607 Hangul Jamo Корейское письмо E1 84 80 — E1 87 BF
1200 — 137F 4608— 4991 Ethiopic Эфиопское письмо E1 88 80 — E1 8D BF
1380 — 139F 4992— 5023 резерв E1 8E 80 — E1 8E 9F
13A0 — 13FF 5024— 5119 Cherokee Чероки письмо E1 8E A0 — E1 8F BF
1400 — 167F 5120— 5759 Unified Canadian Aboriginal Syllabics Слоговое письмо алгонкинских народов E1 90 80 — E1 99 BF
1680 — 169F 5760— 5791 Ogham Огамическое письмо E1 9A 80 — E1 9A 9F
16A0 — 16FF 5792— 5887 Runic Руническое письмо E1 9A A0 — E1 9B BF
1700 — 177F 5888— 6015 резерв E1 9C 80 — E1 9D BF
1780 — 17FF 6016— 6143 Khmer Кхмерское письмо E1 9E 80 — E1 9F BF
1800 — 18AF 6144— 6319 Mongolian Монгольское письмо E1 A0 80 — E1 A2 AF
18B0 — 1DFF 6320— 7679 резерв E1 A2 B0 — E1 B7 BF
1E00 — 1EFF 7680— 7935 Latin Extended Additional Дополнительная латиница E1 B8 80 — E1 BB BF
1F00 — 1FFF 7936— 8191 Greek Extended Греческое расширенное письмо E1 BC 80 — E1 BF BF
2000 — 206F 8192— 8303 General Punctuation Знаки пунктуации E2 80 80 — E2 81 AF
2070 — 209F 8304— 8351 Subscripts and Superscripts Верхние и нижние индексы E2 81 B0 — E2 82 9F
20A0 — 20CF 8352— 8399 Currency Symbols Денежные символы E2 82 A0 — E2 83 8F
20D0 — 20FF 8400— 8447 Combining Diacritical Marks for Symbols Диакритические знаки для символов E2 83 90 — E2 83 BF
2100 — 214F 8448— 8527 Letterlike Symbols Буквенные символы E2 84 80 — E2 85 8F
2150 — 218F 8528— 8591 Number Forms Числовые символы E2 85 90 — E2 86 8F
2190 — 21FF 8592— 8703 Arrows Стрелки E2 86 90 — E2 87 BF
2200 — 22FF 8704— 8959 Mathematical Operators Математические операторы E2 88 80 — E2 8B BF
2300 — 23FF 8960— 9215 Miscellaneous Technical Технические символы E2 8C 80 — E2 8F BF
2400 — 243F 9216— 9279 Control Pictures Значки управляющих кодов E2 90 80 — E2 90 BF
2440 — 245F 9280— 9311 Optical Character Recognition Оптическое распознавание образов E2 91 80 — E2 91 9F
2460 — 24FF 9312— 9471 Enclosed Alphanumerics Буквы и цифры в кружочках E2 91 A0 — E2 93 BF
2500 — 257F 9472— 9599 Box Drawing Символы рамок E2 94 80 — E2 95 BF
2580 — 259F 9600— 9631 Block Elements Символы заполнения E2 96 80 — E2 96 9F
25A0 — 25FF 9632— 9727 Geometric Shapes Геометрические символы E2 96 A0 — E2 97 BF
2600 — 26FF 9728— 9983 Miscellaneous Symbols Различные значки E2 98 80 — E2 9B BF
2700 — 27BF 9984— 10175 Dingbats Значки Dingbats E2 9C 80 — E2 9E BF
27C0 — 27FF 10176— 10239 резерв E2 9F 80 — E2 9F BF
2800 — 28FF 10240— 10495 Braille Patterns Шрифт Брайля E2 A0 80 — E2 A3 BF
2900 — 2E7F 10496— 11903 резерв E2 A4 80 — E2 B9 BF
2E80 — 2EFF 11904— 12031 CJK Radicals Supplement Дополнительные ключи к иероглифам E2 BA 80 — E2 BB BF
2F00 — 2FDF 12032— 12255 Kangxi Radicals Кандзи (ключи к иероглифам) E2 BC 80 — E2 BF 9F
2FE0 — 2FEF 12256— 12271 резерв E2 BF A0 — E2 BF AF
2FF0 — 2FFF 12272— 12287 Ideographic Description Characters Описания идеограмм E2 BF B0 — E2 BF BF
3000 — 303F 12288— 12351 CJK Symbols and Punctuation Идеографические символы и знаки препинания E3 80 80 — E3 80 BF
3040 — 309F 12352— 12447 Hiragana Хирагана (японское письмо) E3 81 80 — E3 82 9F
30A0 — 30FF 12448— 12543 Katakana Катакана (японское письмо) E3 82 A0 — E3 83 BF
3100 — 312F 12544— 12591 Bopomofo Китайское слоговое письмо E3 84 80 — E3 84 AF
3130 — 318F 12592— 12687 Hangul Compatibility Jamo Корейское совместимое письмо E3 84 B0 — E3 86 8F
3190 — 319F 12688— 12703 Kanbun Камбун E3 86 90 — E3 86 9F
31A0 — 31BF 12704— 12735 Bopomofo Extended Китайское расширенное слоговое письмо E3 86 A0 — E3 86 BF
31C0 — 31FF 12736— 12799 резерв E3 87 80 — E3 87 BF
3200 — 32FF 12800— 13055 Enclosed CJK Letters and Months Дальневосточные буквы и месяцы в кружочках E3 88 80 — E3 8B BF
3300 — 33FF 13056— 13311 CJK Compatibility Дальневосточные совместимые символы E3 8C 80 — E3 8F BF
3400 — 4DB5 13312— 19893 CJK Unified Ideographs Extension A Унифицированные иероглифы, расширение А E3 90 80 — E4 B6 B5
4DB6 — 4DFF 19894— 19967 резерв E4 B6 B6 — E4 B7 BF
4E00 — 9FFF 19968— 40959 CJK Unified Ideographs Унифицированные иероглифы E4 B8 80 — E9 BF BF
A000 — A48F 40960— 42127 Yi Syllables Слоговое письмо ицзу (и) EA 80 80 — EA 92 8F
A490 — A4CF 42128— 42191 Yi Radicals Ключи письма ицзу (и) EA 92 90 — EA 93 8F
A4D0 — ABFF 42192— 44031 резерв EA 93 90 — EA AF BF
AC00 — D7A3 44032— 55203 Hangul Syllables Корейское слоговое письмо EA B0 80 — ED 9E A3
D7A4 — D7FF 55204— 55295 резерв ED 9E A4 — ED 9F BF
D800 — DB7F 55296— 56191 High Surrogates Первый байт суррогатных символов ED A0 80 — ED AD BF
DB80 — DBFF 56192— 56319 High Private Use Surrogates Первый байт личных суррогатных символов ED AE 80 — ED AF BF
DC00 — DFFF 56320— 57343 Low Surrogates Второй байт суррогатных символов ED B0 80 — ED BF BF
E000 — F8FF 57344— 63743 Private Use Area Область личных символов EE 80 80 — EF A3 BF
F900 — FAFF 63744— 64255 CJK Compatibility Ideographs Совместимые иероглифы EF A4 80 — EF AB BF
FB00 — FB4F 64256— 64335 Alphabetic Presentation Forms Декоративные варианты букв EF AC 80 — EF AD 8F
FB50 — FDFF 64336— 65023 Arabic Presentation Forms-A Арабское декоративное письмо-A EF AD 90 — EF B7 BF
FE00 — FE1F 65024— 65055 резерв EF B8 80 — EF B8 9F
FE20 — FE2F 65056— 65071 Combining Half Marks Диакритические знаки половинной ширины EF B8 A0 — EF B8 AF
FE30 — FE4F 65072— 65103 CJK Compatibility Forms Декоративные дальневосточные формы EF B8 B0 — EF B9 8F
FE50 — FE6F 65104— 65135 Small Form Variants Малые варианты символов EF B9 90 — EF B9 AF
FE70 — FEFE 65136— 65278 Arabic Presentation Forms-B Арабское декоративное письмо-B EF B9 B0 — EF BB BE
FEFF 65279 Zero Width No-break Space Неразрывный пробел нулевой ширины EF BB BF
FF00 — FFEF 65280 — 65519 Halfwidth and Fullwidth Forms Символы полной и половинной ширины EF BC 80 — EF BF AF
FFF0 — FFFD 65520 — 65533 Specials Специальные символы EF BF B0 — EF BF BD
FFFE — FFFF 65534 — 65535 не используются EF BF BE — EF BF BF

Формат UTF-8

Стандарт 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

Формат UTF-16

Дальнейшее развитие стандарта Unicode связано с добавлением новых языковых плоскостей, т. е. символов в диапазонах 10000 - 1FFFF, 20000 - 2FFFF и т. д., куда предполагается включать кодировку для письменностей мертвых языков, не попавших в таблицу, приведенную выше. Для кодирования этих дополнительных символов был разработан новый формат UTF-16 (см. RFC 2781. Мы не приводим его подробного описания по единственной причине: для базовой языковой плоскости, т. е. для символов с кодами от 0000 до FFFF, он совпадает с Unicode. Поэтому, если вы не собираетесь писать Веб-страницы на языке шумеров или майя, можете смело отождествлять два эти формата.