Юникод — решение всех проблем
29 Май 2009

В предыдущей публикации мы уже рассказывали, что национальным кодировкам отдали восьмой бит, коды со 128 по 255. Для каждого языка создавалась своя кодировка.

Естественно, что такое положение с национальными кодировками не устраивало никого, кроме англоязычных стран. Ведь, скажем, в Корее, Японии, Китае символов не десятки, а сотни и тысячи. Поэтому была создана специальная группа для разработки новой, устраивающей всех кодовой таблицы. Эта таблица получила название Unicode, официальный сайт разработчиков — www.unicode.org.

Если быть совсем точными, то надо отметить, что для решения проблемы глобального охвата планеты корпорации IBM и Xerox еще в первой половине 1980-х начали работу над созданием новой «многоязычной» системы кодирования, в которой для представления символов используются двоичные последовательности длиною в 16 бит, а также единая большая таблица символов объемом в 65536 позиций. Впоследствии к этим корпорациям присоединились другие (в том числе Adobe, Microsoft и др.), и был начат проект, который представители американской компьютерной индустрии назвали «Unification Code», или Unicode. Причем дошло до того, что в 1991 году эти корпорации для продвижения Unicode в качестве международного стандарта создали одноименный транснациональный консорциум. Главной задачей Unicode официально было объявлено сведение существующих в мире символов естественных языков в указанную большую таблицу и обеспечение одновременной и равноправной работы с ними.

Таблица символов, используемая в Unicode, устроена следующим образом. Она разбита на 256 рядов. Первые ряды содержат некоторые из старых таблиц символов (объемом в 128 или 256 позиций каждая), определенных для отдельных языков. Самый первый ряд (под номером 0) представляет собой таблицу ISO 8859-1 (в свою очередь, она содержит 128 символов из таблицы 7-битной системы ASCII, а также некоторые символы, используемые в языках стран Западной Европы).

Последующие ряды таблицы отведены под некоторые новые символы (например, математические), но преимущественно — под иероглифы. В общей сложности в таблице символов системы Unicode насчитывается около 28000 иероглифов. В Unicode для кодирования символа используются 2 байта, что позволяет закодировать 65 535 символов. Сюда с запасом войдут все известные ныне языки на Земле, все исчезнувшие и вновь создаваемые языки. Все задействованные коды символов можно посмотреть на специальной странице — www.utf8-chartable.de. Видно, что кириллица занимает позиции от U+0410, соответствующего букве «А», до U+044F, соответствующего букве «Я», причем буква «Ё» опять не стоит «на месте».

Система Unicode присваивает уникальный код любому символу, независимо от платформы, независимо от программы, независимо от языка. Unicode принят как стандарт такими лидерами компьютерной индустрии, как Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys, да и многими другими. Именно эта схема кодирования используется такими современными технологиями и стандартами, как, например, XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML и так далее. Именно Unicode является официальной схемой реализации ISO/IEC 10646. Наконец, эта кодировка поддерживается во множестве операционных систем, во всех современных браузерах и в большом количестве других программ. Повсеместное распространение стандарта Unicode, как и доступность поддерживающих его средств, в настоящее время является одним из наиболее важных направлений развития индустрии программного обеспечения. Действительно, Unicode позволяет создавать единый программный продукт или сайт Интернета для множества платформ, языков и стран без каких-либо переделок. А его использование при передаче данных между различными системами предохраняет эти данные от повреждения.

Если в статьях 2000-2002 годов о Unicode говорили в будущем времени, то начиная с 2003 года пошло все более успешное внедрение стандарта. Ныне он сравнялся по популярности с ASCII и имеет тенденцию роста. Ровно год назад, в мае 2008 года, количество русскоязычных сайтов, выполненных в Unicodе, впервые превысило количество сайтов в кодировке СР-1251, и доля их продолжает расти. В поставку Windows входят шрифты, поддерживающие Unicode. Некоторые шрифты поставляются с офисным пакетом (MS Office-2007).

Узнать, установлен ли у вас такой шрифт, можно, зайдя на страничку arbuz.uz, на которой одна фраза написана на десятках языках мира. Вы можете прочесть ее на иврите, армянском, норвежском, японском, татарском и прочих языках в их родной кодировке. Если же «юникодовский» шрифт, например, Arial Unicode MS, у вас не установлен, то вы увидите вместо букв обычные квадратики.

И еще немного о терминологии. Unicode — это набор символов. Для того, чтобы браузер его распознал, надо указать на специальную кодировку «UTF-8». Делается это в метатэге в начале веб-страницы: meta http-equiv="Content-Type" content="text/html; charset=utf-8"/

Кодировка UTF-8 — это уже не просто набор символов, но и некоторая программная обработка. Например, для символов того же английского языка в UTF-8 текст по-прежнему отображается одним байтом; для расширенных символов кириллицы, иврита, иероглифов, скандинавских, индийских и африканских текстов задействуется второй байт. Высказываются мнения, что страница в кодировке UTF-8 вдвое тяжелее, чем в Win-1251. Это и так и не так одновременно. Во-первых, сам код HTML пишется на английском языке и остается однобайтовым, во-вторых, все цифры, вкрапления латинскими буквами и английские знаки пунктуации — однобайтовые. За счет больших текстов на кириллице или на любом неанглийском языке объем страницы может возрасти процентов на 30. Но по сравнению с графикой, флеш-анимацией, джава-скриптами, внедренными в страницу, это увеличение составляет незначительную часть от объема сайта. Зато преимущества такой кодировки очевидны: на сайте можно писать на всех известных языках мира одновременно. Что и продемонстрировал пример с Арбуза.

Материалы по теме

Статьи по теме

  • Во всем нужна сноровка, закалка, кодировка
  • Типографика — наука о красивых текстах
  • История кодировок: пути и лабиринты
  • Из жизни шрифтов
  • Наши дети в Интернете

2 комментария

ответить

Евгения

29.05.2009 15:57:18
А почему Планета Школ тогда еще не в Юникоде?...
no user photo ответить

seezer

29.05.2009 16:35:47
Все-то вы замечаете...

			

Написать комментарий


		
Художественный конкурс Henkel Art.Award
До 8 июня 2009 года открыт прием заявок на Восьмой международный художественный конкурс Henkel Art.Award.2009, который пройдет в 31 стране Центральной и Восточной Европы, включая Россию.
 
Программа Project Smile
Программа Project Smile направлена на организацию и проведение образовательных и развлекательных мероприятий, развитие креативного мышления у детей и школьников, помощь пожилым людям и людям с ограниченными возможностями.
Программа Project Smile
Программа Project Smile направлена на организацию и проведение образовательных и развлекательных мероприятий, развитие креативного мышления у детей и школьников, помощь пожилым людям и людям с ограниченными возможностями.
 
Конкурс на получение стипендии от EF Education First
Компания EF Education First объявляет конкурс на получение стипендии на обучение по программам продолжительностью академический семестр или академический год.