Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / HTML / Не для новичков / Приложения /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Стандарт Unicode 3.0 - Программирование от RIN.RU
Стандарт Unicode 3.0

Общее описание


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



  • тип символа (прописная буква, строчная буква, цифра, знак препинания и т. д.);


  • атрибуты символа (отображение слева направо или справа налево, пробел, разрыв строки и т. д.);


  • соответствующая прописная или строчная буква (для строчных и прописных букв соответственно);


  • соответствующее числовое значение (для цифровых символов).





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


Стандартные подмножества


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



  • IPA = International Phonetical Alphabet = Международная фонетическая транскрипция;


  • CJK = China, Japan & Korea = Китай, Япония и Корея.







Таблица П3.1. Стандартные подмножества Unicode 3.0
ДиапазонОписаниеКоды UTF-8
00 - 7FBasic LatinБазовая латиница00 - 7F
80 - FFLatin-1 SupplementЛатиница-1 дополнительнаяC2 80 - C3 BF
100 - 17FLatin Extended-AРасширенная латиница-AC4 80 - C5 BF
180 - 24FLatin Extended-BРасширенная латиница-BC6 80 - C9 8F
250 - 2AFIPA ExtensionsФонетические знакиC9 90 - CA AF
2B0 - 2FFSpacing Modifier LettersСимволы изменения пробелаCA B0 - CB BF
300 - 36FCombining Diacritical MarksДиакритические знакиCC 80 - CD AF
370 - 3FFGreekГреческое и коптское письмоCD B0 - CF BF
400 - 4FFCyrillicКириллицаD0 80 - D3 BF
500 - 52FрезервD4 80 - D4 AF
530 - 58FArmenianАрмянское письмоD4 B0 - D6 8F
590 - 5FFHebrewИвритское письмоD6 90 - D7 BF
600 - 6FFArabicАрабское письмоD8 80 - DB BF
700 - 74FSyriacСирийское письмоDC 80 - DD 8F
750 - 77FрезервDD 90 - DD BF
780 - 7BFThaanaТана (мальдивское письмо)DE 80 - DE BF
7C0 - 8FFрезервDF 80 - E0 A3 BF
900 - 97FDevanagariДеванагариE0 A4 80 - E0 A5 BF
980 - 9FFBengaliБенгалиE0 A6 80 - E0 A7 BF
A00 - A7FGurmukhiГурмукхиE0 A8 80 - E0 A9 BF
A80 - AFFGujaratiГуджаратиE0 AA 80 - E0 AB BF
B00 - B7FOriyaОрияE0 AC 80 - E0 AD BF
B80 - BFFTamilТамилиE0 AE 80 - E0 AF BF
C00 - C7FTeluguТелугуE0 B0 80 - E0 B1 BF
C80 - CFFKannadaКаннадаE0 B2 80 - E0 B3 BF
D00 - D7FMalayalamМалаяламE0 B4 80 - E0 B5 BF
D80 - DFFSinhalaСингальское письмоE0 B6 80 - E0 B7 BF
E00 - E7FThaiТайское (сиамское) письмоE0 B8 80 - E0 B9 BF
E80 - EFFLaoЛаосское письмоE0 BA 80 - E0 BB BF
F00 - FFFTibetanТибетское письмоE0 BC 80 - E0 BF BF
1000 - 109FMyanmarБирманское письмоE1 80 80 - E1 82 9F
10A0 - 10FFGeorgianГрузинское письмоE1 82 A0 - E1 83 BF
1100 - 11FFHangul JamoКорейское письмоE1 84 80 - E1 87 BF
1200 - 137FEthiopicЭфиопское письмоE1 88 80 - E1 8D BF
1380 - 139FрезервE1 8E 80 - E1 8E 9F
13A0 - 13FFCherokeeЧероки письмоE1 8E A0 - E1 8F BF
1400 - 167FUnified Canadian Aboriginal SyllabicsСлоговое письмо алгонкинских народовE1 90 80 - E1 99 BF
1680 - 169FOghamОгамическое письмоE1 9A 80 - E1 9A 9F
16A0 - 16FFRunicРуническое письмоE1 9A A0 - E1 9B BF
1700 - 177FрезервE1 9C 80 - E1 9D BF
1780 - 17FFKhmerКхмерское письмоE1 9E 80 - E1 9F BF
1800 - 18AFMongolianМонгольское письмоE1 A0 80 - E1 A2 AF
18B0 - 1DFFрезервE1 A2 B0 - E1 B7 BF
1E00 - 1EFFLatin Extended AdditionalДополнительная латиницаE1 B8 80 - E1 BB BF
1F00 - 1FFFGreek ExtendedГреческое расширенное письмоE1 BC 80 - E1 BF BF
2000 - 206FGeneral PunctuationЗнаки пунктуацииE2 80 80 - E2 81 AF
2070 - 209FSubscripts and SuperscriptsВерхние и нижние индексыE2 81 B0 - E2 82 9F
20A0 - 20CFCurrency SymbolsДенежные символыE2 82 A0 - E2 83 8F
20D0 - 20FFCombining Diacritical Marks for SymbolsДиакритические знаки для символовE2 83 90 - E2 83 BF
2100 - 214FLetterlike SymbolsБуквенные символыE2 84 80 - E2 85 8F
2150 - 218FNumber FormsЧисловые символыE2 85 90 - E2 86 8F
2190 - 21FFArrowsСтрелкиE2 86 90 - E2 87 BF
2200 - 22FFMathematical OperatorsМатематические операторыE2 88 80 - E2 8B BF
2300 - 23FFMiscellaneous TechnicalТехнические символыE2 8C 80 - E2 8F BF
2400 - 243FControl PicturesЗначки управляющих кодовE2 90 80 - E2 90 BF
2440 - 245FOptical Character RecognitionОптическое распознавание образовE2 91 80 - E2 91 9F
2460 - 24FFEnclosed AlphanumericsБуквы и цифры в кружочкахE2 91 A0 - E2 93 BF
2500 - 257FBox DrawingСимволы рамокE2 94 80 - E2 95 BF
2580 - 259FBlock ElementsСимволы заполненияE2 96 80 - E2 96 9F
25A0 - 25FFGeometric ShapesГеометрические символыE2 96 A0 - E2 97 BF
2600 - 26FFMiscellaneous SymbolsРазличные значкиE2 98 80 - E2 9B BF
2700 - 27BFDingbatsЗначки DingbatsE2 9C 80 - E2 9E BF
27C0 - 27FFрезервE2 9F 80 - E2 9F BF
2800 - 28FFBraille PatternsШрифт БрайляE2 A0 80 - E2 A3 BF
2900 - 2E7FрезервE2 A4 80 - E2 B9 BF
2E80 - 2EFFCJK Radicals SupplementДополнительные ключи к иероглифамE2 BA 80 - E2 BB BF
2F00 - 2FDFKangxi RadicalsКандзи (ключи к иероглифам)E2 BC 80 - E2 BF 9F
2FE0 - 2FEFрезервE2 BF A0 - E2 BF AF
2FF0 - 2FFFIdeographic Description CharactersОписания идеограммE2 BF B0 - E2 BF BF
3000 - 303FCJK Symbols and PunctuationИдеографические символы и знаки препинанияE3 80 80 - E3 80 BF
3040 - 309FHiraganaХирагана (японское письмо)E3 81 80 - E3 82 9F
30A0 - 30FFKatakanaКатакана (японское письмо)E3 82 A0 - E3 83 BF
3100 - 312FBopomofoКитайское слоговое письмоE3 84 80 - E3 84 AF
3130 - 318FHangul Compatibility JamoКорейское совместимое письмоE3 84 B0 - E3 86 8F
3190 - 319FKanbunКамбунE3 86 90 - E3 86 9F
31A0 - 31BFBopomofo ExtendedКитайское расширенное слоговое письмоE3 86 A0 - E3 86 BF
31C0 - 31FFрезервE3 87 80 - E3 87 BF
3200 - 32FFEnclosed CJK Letters and MonthsДальневосточные буквы и месяцы в кружочкахE3 88 80 - E3 8B BF
3300 - 33FFCJK CompatibilityДальневосточные совместимые символыE3 8C 80 - E3 8F BF
3400 - 4DB5CJK Unified Ideographs Extension AУнифицированные иероглифы, расширение АE3 90 80 - E4 B6 B5
4DB6 - 4DFFрезервE4 B6 B6 - E4 B7 BF
4E00 - 9FFFCJK Unified IdeographsУнифицированные иероглифыE4 B8 80 - E9 BF BF
A000 - A48FYi SyllablesСлоговое письмо ицзу (и)EA 80 80 - EA 92 8F
A490 - A4CFYi RadicalsКлючи письма ицзу (и)EA 92 90 - EA 93 8F
A4D0 - ABFFрезервEA 93 90 - EA AF BF
AC00 - D7A3Hangul SyllablesКорейское слоговое письмоEA B0 80 - ED 9E A3
D7A4 - D7FFрезервED 9E A4 - ED 9F BF
D800 - DB7FHigh SurrogatesПервый байт суррогатных символовED A0 80 - ED AD BF
DB80 - DBFFHigh Private Use SurrogatesПервый байт личных суррогатных символовED AE 80 - ED AF BF
DC00 - DFFFLow SurrogatesВторой байт суррогатных символовED B0 80 - ED BF BF
E000 - F8FFPrivate Use AreaОбласть личных символовEE 80 80 - EF A3 BF
F900 - FAFFCJK Compatibility IdeographsСовместимые иероглифыEF A4 80 - EF AB BF
FB00 - FB4FAlphabetic Presentation FormsДекоративные варианты буквEF AC 80 - EF AD 8F
FB50 - FDFFArabic Presentation Forms-AАрабское декоративное письмо-AEF AD 90 - EF B7 BF
FE00 - FE1FрезервEF B8 80 - EF B8 9F
FE20 - FE2FCombining Half MarksДиакритические знаки половинной шириныEF B8 A0 - EF B8 AF
FE30 - FE4FCJK Compatibility FormsДекоративные дальневосточные формыEF B8 B0 - EF B9 8F
FE50 - FE6FSmall Form VariantsМалые варианты символовEF B9 90 - EF B9 AF
FE70 - FEFEArabic Presentation Forms-BАрабское декоративное письмо-BEF B9 B0 - EF BB BE
FEFFZero Width No-break SpaceНеразрывный пробел нулевой шириныEF BB BF
FF00 - FFEFHalfwidth and Fullwidth FormsСимволы полной и половинной шириныEF BC 80 - EF BF AF
FFF0 - FFFDSpecialsСпециальные символыEF BF B0 - EF BF BD
FFFE - FFFFне используются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 - 007F00000000 0zzzzzzz0zzzzzzzz
0080 - 07FF00000yyy yyzzzzzz110yyyyy 10zzzzzz
0800 - FFFFxxxxyyyy yyzzzzzz1110xxxx 10yyyyyy 0zzzzzz



Здесь x,y,z обозначают биты исходного кода, которые должны извлекаться, начиная с младшего, и заноситься в байты результата справа налево, пока не будут заполнены все указанные позиции.


Подробное описание формата UTF-8 содержится в RFC 2279


Формат UTF-16


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


Мы не приводим его подробного описания по единственной причине: для базовой языковой плоскости, т. е. для символов с кодами от 0000 до FFFF, он совпадает с Unicode. Поэтому, если вы не собираетесь писать Веб-страницы на языке шумеров или майя, можете смело отождествлять два эти формата.



 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь