Юникод - это система кодирования, которая присваивает уникальный код любому символу, независимо от платформы, независимо от программы, независимо от языка.
На самом деле, даже в самом названии этой заметки есть некоторая неточность - или, вернее, противоречие. Дело в том, что до сих пор нет единодушия в том, как правильно писать английское слово Unicode русскими буквами - юникод или уникод. Мы с вами сейчас воспользуемся первым вариантом написания.
Юникод - это не просто многобайтовая кодировка для представления множества символов, как многие думают, хотя и такое определение в определённом приближении можно считать верным. Официально же определение такое: юникод - это система кодирования, которая присваивает уникальный код любому символу, независимо от платформы, независимо от программы, независимо от языка.
Стандарт юникод разбит на две части. Первая - это набор чисел, соответствующих каждому символу каждого поддерживаемого алфавита. Она называется Universal Character Set, или просто UCS. Числа, используемые в пространстве кодов UCS, все целые и неотрицательные. Обозначаются эти числа - кодовые позиции - как U+0000, U+0001, U+0002 и т.д. При всём при этом пространство кодов не однородное, а разделено на несколько смысловых областей. Коды от U+0000 до U+007F - это ASCII-символы, за ними расположены знаки символы разных национальных алфавитов, знаки препинания и технические символы а-ля символа перевода каретки на новую строку. Вторая часть стандарта - это, собственно, кодировки, которые обеспечивают побитовое представление каждого кода в тексте.
Все символы в юникоде разделены на два типа - протяжённые и бесширинные (модифицирующие). Протяжённые символы - это обычные буквы, которыми набрана эта вот заметка. Модифицирующие - это надбуквенные знаки вроде ударений, точек, "шапочек" и т.д., и т.п. Большая часть букв, имеющие подобные знаки, для всех алфавитов представлены как последовательность протяжённого и модифицирующего символов. Правда, кириллические "ё" и "й" представлены как отдельные протяжённые символы.
Самой распространённой практической реализацией юникода является UTF-8. Этот стандарт обеспечивает хорошую совместимость со старыми ASCII-текстами благодаря тому, что символы английского алфавита и другие общеупотребительные символы (т.е. символы, имеющие в ASCII коды от 0 до 127) записываются одним байтом. Остальные символы записываются большим количеством байт - от двух до шести.
Разрабатывается юникод и сопутствующие ему стандарты консорциумом Unicode Consortium. Как написано на официальном сайте этой организации www.unicode.org, "Unicode Consortium - это некоммерческая организация, основанная для разработки и развития стандарта Unicode, определяющего представление текстовой информации в современных программных продуктах и стандартах, и для содействия его широкому распространению и использованию. Членами Консорциума является большое количество корпораций и организаций, работающих в областях обработки информации и компьютерной индустрии. Финансовая поддержка Консорциума осуществляется исключительно за счёт членских взносов его участников. Членство в Unicode Consortium открыто для любых организаций или частных лиц, поддерживающих стандарт Unicode и желающих помогать его распространению и реализации". Присоединяйтесь! :)
Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by
Комментарии