Реклама:

Таненбаум Э.- Архитектура компьютера. стр.114

Так как UNICODE-символы состоят из 16 бит, всего получается 65 536 кодовых указателей. Поскольку во всех языках мира в общей сложности около 200 ООО символов, кодовые указатели являются очень скудным ресурсом, который нужно распределять с большой осторожностью. Около половины кодов уже распределено, и консорциум, разработавший UNICODE, постоянно рассматривает предложения по распределению оставшейся части. Чтобы ускорить принятие системы UNICODE, консорциум использовал набор Latin-1 для кодов от 0 до 255, обеспечивающий простое преобразование ASCII- в UNICODE-символы. Во избежание излишней растраты кодов каждый диакритический знак имеет собственный код, а объединить диакритический знак с той или иной буквой — задача программного обеспечения.

Вся совокупность кодов разделена на блоки, каждый блок содержит 16 кодов. Каждый алфавит в UNICODE имеет ряд последовательных зон. Приведем некоторые примеры (в скобках указано число задействованных кодов): латынь (336), греческий (144), русский (256), армянский (96), иврит (112), деванагари (128), гурмуки (128), ория (128), телугу (128) и каннада (128). Отметим, что каждому из этих языков приписано больше кодов, чем в нем есть букв. Это сделано отчасти потому, что во многих языках у каждой буквы есть несколько вариантов написания. Например, каждая буква в английском языке представлена в двух вариантах: там есть строчные и прописные буквы. В некоторых языках буквы имеют три или более формы написания, выбор конкретного варианта зависит от того, где находится буква: в начале, конце или середине слова.

Кроме того, некоторые коды были приписаны диакритическим знакам (112), знакам пунктуации (112), подстрочным и надстрочным знакам (48), знакам валют (48), математическим символам (256), геометрическим фигурам (96), рисункам (192).

Нужны также символы для китайского, японского и корейского языков. Сначала идут 1024 фонетических символа (например, катакана и бопомофо), затем иероглифы, используемые в китайском и японском языках (20 992), потом слоги корейского языка (11 156).

Чтобы пользователи могли создавать новые символы для особых целей, существуют еще 6400 кодов.

Хотя система UNICODE разрешила многие проблемы, связанные с интернационализацией, она все же не позволила разрешить абсолютно все проблемы. Например, латинский алфавит упорядочен, а иероглифы — нет, поэтому программа для английского языка может расположить слова «cat» и «dog» по алфавиту, сравнив значение кодов первых букв, а программе для японского языка нужны дополнительные таблицы, чтобы можно было вычислять, в каком порядке расположены символы в словаре.

Еще одна проблема состоит в том, что постоянно появляются новые слова. 50 лет назад никто не говорил об апплетах, киберпространстве, гигабайтах, лазерах, модемах, смайликах или видеопленках. Появление новых слов в английском языке новых кодов не требует, а вот в японском они нужны. Помимо новых терминов, необходимо также добавить по крайней мере 20 000 новых имен собственных и географических названий (в основном китайских). Шрифт Брайля, которым пользуются слепые, вероятно, тоже должен быть задействован. В наличии тех или иных особых символов заинтересованы и представители различных профессиональных сообществ. Консорциум UNICODE рассматривает все новые предложения и выносит по ним решения.


⇐ Предыдущая страница| |Следующая страница ⇒