форум
22.08.2019
Просмотров: 127
Другое

Что такое уникод?

alex2

Юникод, либо Уникод (англ. Unicode) — эталон кодировки знаков, позволяющий представить знаки фактически всех письменных языков.

Эталон предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium), объединяющей наикрупнейшие IT-корпорации. Применение этого эталона позволяет закодировать очень огромное число знаков из различных письменностей: в документах Unicode могут соседствовать китайские иероглифы, математические знаки, буквы греческого алфавита, латиницы и кириллицы, при всем этом становятся ненадобными кодовые странички.

Эталон состоит из 2-ух главных разделов: универсальный набор знаков (UCS, Universal Character Set) и семейство шифровок (UTF, Unicode Transformation Format). Универсальный набор знаков задаёт однозначное соответствие знаков кодам — элементам кодового места, представляющим неотрицательные целые числа. Семейство шифровок определяет машинное представление последовательности кодов UCS.

Коды в эталоне Unicode разбиты на немного областей. Область с кодами от U+0000 до U+007F содержит знаки набора ASCII с надлежащими кодами. Дальше размещены области символов разных письменностей, знаки пунктуации и технические знаки. Часть кодов зарезервирована для использования в последствии. Под знаки кириллицы выделены коды от U+0400 до U+052F

Предпосылки сотворения и развитие Юникода

К концу 1980-х годов эталоном стали 8-битные знаки, при всем этом было огромное количество различных 8-битных шифровок и повсевременно появлялись всё новые. Это разъяснялось как неизменным расширением круга поддерживаемых языков, так и рвением сделать шифровку, отчасти совместимую с какой-либо иной (соответствующий пример — возникновение другой шифровки для российского языка, обусловленное эксплуатацией западных программ, предназначенных для шифровки CP437). В итоге появилась необходимость решения нескольких задач:

  • Неувязка «крокозябров» (показа документов в неверной шифровке): её есть возможность было решить или поочередным внедрением способов указания применяемой шифровки, или внедрением единой для всех шифровки.
  • Неувязка ограниченности набора знаков: её есть возможность было решить или переключением шрифтов снутри документа, или внедрением «широкой» шифровки. Переключение шрифтов давно практиковалось в текстовых микропроцессорах, причём нередко использовались шрифты с необычной шифровкой, т. н. «dingbat fonts» — в конечном итоге при попытке перенести документ в другую систему все неординарные знаки преобразовывалось в крокозябры.
  • Неувязка преобразования одной шифровки в другую: её есть возможность было решить или составлением таблиц перекодировки для каждой пары шифровок, или внедрением промежного преобразования в третью шифровку, включающую все знаки всех шифровок.
  • Неувязка дублирования шрифтов: обычно для каждой шифровки делался собственный шрифт, даже в том случае эти шифровки отчасти (либо целиком) совпадали по набору знаков: эту делему есть возможность было решить, делая «большие» шрифты, из которых позже выбираются нужные для данной шифровки знаки — но это просит сотворения одного реестра знаков, чтоб определять, чему что соответствует.
  • Было признано нужным создание единой «широкой» шифровки. Шифровки с переменной длиной знака, обширно использующиеся в Восточной Азии, были признаны очень сложными в использовании, потому было решено применять знаки фиксированной ширины. Внедрение 32-битных знаков казалось очень расточительным, потому было решено применять 16-битные.

    Следовательно, 1-ая версия Юникода представляла собой шифровку с фиксированным размером знака в 16 бит, другими словами общее число кодов было 216 (65 536). Отсюда происходит практика обозначения знаков 4-мя шестнадцатеричными цифрами (к примеру, U+0410). При всем этом в Юникоде планировалось кодировать не все имеющиеся знаки, а только те, которые нужны в ежедневном обиходе. Изредка применяемые знаки должны были располагаться в «области знаков для личного использования» (Private Use Area), которая сначало занимала коды U+D800…U+F8FF. Чтоб применять Юникод также и в качестве промежного звена при преобразовании различных шифровок друг в друга, в него включили все знаки, выставленные во всех более-менее узнаваемых шифровках.

    В предстоящем, но, было принято решение кодировать все знаки и в связи с этим существенно расширить кодовую область. Вместе с этим с этим, коды знаков стали рассматриваться не как 16-битные значения, как абстрактные числа, которые в компьютере могут представляться обилием различных методов.

    Так как в ряде компьютерных систем (к примеру, Windows NT) уже были реализованы 16-битные знаки, было решено всё более принципиальное кодировать исключительно в границах первых 65 536 позиций (так именуемая англ. Basic Multilingual Plane, BMP). Остальное место употребляется для «Дополнительных символов» (англ. Supplementary Characters): систем письма вымерших языков либо очень изредка применяемых китайских иероглифов, математических и музыкальных знаков.

    Для сопоставимости со старенькыми 16-битными системами была придумана система UTF-16, где 1-ые 65 536 позиций показываются прямо как 16-битные числа, а другие представляются в виде «суррогатных пар» (1-ый элемент пары из области U+D800…U+DBFF, 2-ой элемент пары из области U+DC00…DFFF). Для суррогатных пар была применена часть кодового места, ранее отведённого для «символов для личного использования».

    Так как в UTF-16 есть возможность показать только 220+216 (1 114 112) знаков, то это и было выбрано в качестве конечной величины кодового места Юникода.

    Хотя кодовая область Юникода была расширена за границы 216 уже в версии 2.0, 1-ые знаки в «верхней» области были расположены исключительно в версии 4.0.

    Версии Юникода

    По мере конфигурации и пополнения таблицы знаков системы Юникода и выхода новых версий этой системы, — а эта работа ведётся повсевременно, так как вначале система Юникод включала только Plane 0 — двухбайтные коды, — выходят и новые документы ISO. Система Юникод существует в общей трудности в последующих версиях:

  • 1.1 (соответствует эталону ISO/IEC 10646-1:1993),
  • 2.0, 2.1 (тот же эталон ISO/IEC 10646-1:1993 плюс дополнения: «Amendments» с 1-го по 7-е и «Technical Corrigenda» 1 и 2),
  • 3.0 (эталон ISO/IEC 10646-1:2000).
  • 3.2 (эталон 2002 года)
  • 4.0 (эталон 2003)
  • 4.01 (эталон 2004)
  • 4.1 (эталон 2005)
  • 5.0 (эталон 2006)
  • Кодовое место

    Хотя формы записи UTF-8 и UTF-32 позволяют кодировать до 231 (2 147 483 648) кодовых позиций, было принято решение применять только 220+216 (1 114 112) для сопоставимости с UTF-16. Вобщем, даже и этого более чем довольно — сейчас (в версии 5.0) употребляется чуток больше 99 000 кодовых позиций.

    Кодовое место разбито на 17 плоскостей по 216 (65536) знаков. Нулевая плоскость именуется базисной, в ней размещены знаки более употребительных письменностей. 1-ая плоскость употребляется, в главном, для исторических письменностей. Плоскости 16 и 17 выделены для личного потребления.

    Для обозначения знаков Unicode употребляется запись вида «U+xxxx» (для кодов 0…FFFF) либо «U+xxxxx» (для кодов 10000…FFFFF) либо «U+xxxxxx» (для кодов 100000…10FFFF), где xxx — шестнадцатеричные числа. К примеру, знак «я» (U+044F) имеет код 044F16 = 110310.

    Система кодировки

    Универсальная система кодировки (Юникод) представляет собой набор графических знаков и метод их кодировки для компьютерной обработки текстовых данных.

    Графические знаки — это знаки, имеющие видимое изображение. Графическим символам противопоставляются управляющие знаки и знаки форматирования.

    Графические знаки содержат в себе последующие группы:

  • буквы, содержащиеся хотя бы в одном из обслуживаемых алфавитов;
  • числа;
  • знаки пунктуации;
  • особые знаки (математические, технические, идеограммы и пр.);
  • разделители.
  • Юникод — это система для линейного представления текста. Знаки, имеющие дополнительные над- либо подстрочные элементы, могут быть представлены в виде построенной по определённым правилам последовательности кодов (составной вариант, composite character) либо в виде одного знака (цельный вариант, precomposed character).

    Преобразующие знаки

    Графические знаки в Юникоде разделяются на протяжённые и непротяжённые (бесширинные). Непротяжённые знаки при отображении не занимают места в строке. К ним относятся, а именно, знаки ударения и остальные диакритические знаки. Как протяжённые, так и непротяжённые знаки имеют собственные коды. Протяжённые знаки по другому именуются базисными (base characters), а непротяжённые — преобразующими (combining characters); причём последние не могут встречаться без помощи других. К примеру, знак «á» может быть представлен как последовательность базисного знака «a» (U+0061) и преобразующего знака « ?» (U+0301) либо как цельный знак «á» (U+00C1).

    Особенный класс преобразующих знаков — селекторы варианта начертания (variation selectors). Они действуют лишь на те знаки, для которых такие варианты определены. В версии 5.0 варианты начертания определены для ряда математических знаков, для знаков обычного татарского алфавита и для знаков письма Phags-Pa.

    Формы нормализации

    Так как одни и те же знаки есть возможность представить разными кодами, что время от времени затрудняет обработку, есть процессы нормализации, созданные для приведения текста к определённому стандартному виду.

    В эталоне Юникода определены 4 формы нормализации текста:

  • Форма нормализации D (NFD) — каноническая декомпозиция. В процессе приведения текста в эту форму все составные знаки рекурсивно заменяются на немного составных, в согласовании с таблицами декомпозиции.
  • Форма нормализации C (NFC) — каноническая декомпозиция с следующей канонической композицией. Поначалу текст приводится к форме D, после этого производится каноническая композиция — текст обрабатывается от начала к концу и производятся последующие правила:
  • Знак S является исходным, в том случае он имеет нулевой класс модификации в базе знаков Юникода.
  • В хоть какой последовательности знаков, стартующей с исходного знака S знак C блокируется от S в том случае и только в том случае меж S и C есть какой-нибудь знак B, который либо является исходным, либо имеет однообразный либо больший класс модификации, чем C. Это норма распространяется лишь на строчки прошедшие каноническую декомпозицию.
  • Первичным композитом считается знак, у которого есть каноническая декомпозиция в базе знаков Юникода (либо каноническая декомпозиция для хангыля и он не заходит в перечень исключений.
  • Знак X может быть первично совмещен с эмблемой Y в том случае и только в том случае существует первичный композит Z, канонически эквивалентный последовательности X, Y>.
  • В том случае очередной знак C не блокируется последним встреченным исходным базисным эмблемой L, и он может быть удачно первично совмещен с ним, то L заменяется на композит L-C, а C удаляется.
  • Форма нормализации KD (NFKD) — совместимая декомпозиция. При приведении в эту форму все составные знаки заменяются используя как канонические карты декомпозиции Юникода, так и совместимые карты декомпозиции, после этого итог ставится в каноническом порядке.
  • Форма нормализации KC (NFKC) — совместимая декомпозиция с следующей канонической композицией.
  • Определения «композиция» и «декомпозиция» понимают под собой соответственно соединение либо разложение знаков на составные части.

    Примеры Начальный текстNFDNFCNFKDNFKCFrancais (Franxe7ais)Francu0327aisFranxe7aisFrancu0327aisFranxe7aisА,Ё,Й (u0410,u0401, u0419)u0410,u0415u0308, u0418u0306u0410,u0401,u0419u0410,u0415u0308, u0418u0306u0410,u0401,u0419? (u304c)u304bu3099u304cu304bu3099u304cHenry IVHenry IVHenry IVHenry IVHenry IVHenry ? (Henry u2163)Henry u2163Henry u2163Henry IVHenry IV

    Двунаправленное письмо

    Эталон Юникод поддерживает письменности языков как с направлением написания слева вправо (left-to-right, LTR), так и с написанием справа влево (right-to-left, RTL) — к примеру, арабское и еврейское письмо. В обоих случаях знаки хранятся в «естественном» порядке; их отображение с учётом подходящего направления письма обеспечивается приложением.

    Не считая того, Юникод поддерживает комбинированные тексты, сочетающие куски с различным направлением письма. Данная возможность именуется двунаправленность (bidirectional text, BiDi). Некие упрощённые обработчики текста (к примеру, в мобильниках) могут поддерживать Юникод, однако не иметь поддержки двунаправленности. Все знаки Юникода поделены на немного категорий: пишущиеся слева вправо, пишущиеся справа влево, и пишущиеся в любом направлении. Знаки последней категории (в главном это знаки пунктуации) при отображении принимают направление окружающего их текста.

    Выставленные знаки

    Юникод включает фактически все современные письменности, в том числе:

    арабскую, армянскую, бенгальскую, бирманскую, греческую, грузинскую, деванагари, иврит, кириллицу, коптскую, кхмерскую, латинскую, тамильскую, хангыль, хань (Китай, Япония, Корея), чероки, эфиопскую, японскую (катакана, хирагана, кандзи) и другие.

    С академической целью добавлены многие исторические письменности, в том числе: руны, древнегреческая, египетские иероглифы, клинопись, письменность майя, этрусский алфавит.

    В Юникоде представлен широкий набор математических и музыкальных знаков, также пиктограмм.

    ISO/IEC 10646

    Консорциум Юникода работает в тесноватой связи с рабочей группой ISO/IEC/JTC1/SC2/WG2, которая занимается разработкой интернационального эталона 10646 (ISO/IEC 10646). Меж эталоном Юникода и ISO/IEC 10646 установлена синхронизация, хотя каждый эталон употребляет свою терминологию и систему документации.

    Сотрудничество Консорциума Юникода с Интернациональной организацией по стандартизации (англ. International Organization for Standardization, ISO) началось в 1991 году. В 1993 году ISO выпустила эталон DIS 10646.1. Для синхронизации с ним, Консорциум утвердил эталон Юникода версии 1.1, в который были внесены дополнительные знаки из DIS 10646.1. В итоге, значения закодированных знаков в Unicode 1.1 и DIS 10646.1 целиком совпали.

    В предстоящем сотрудничество 2-ух организаций продолжилось. В 2000 году эталон Unicode 3.0 был синхронизирован с ISO/IEC 10646-1:2000. Грядущая 3-я версия ISO/IEC 10646 будет синхронизирована с Unicode 4.0. Может быть, эти спецификации даже будут размещены как единый эталон.

    Подобно форматам UTF-16 и UTF-32 в эталоне Юникода, эталон ISO/IEC 10646 также имеет две главные формы кодировки знаков: UCS-2 (2 байта на знак, подобно UTF-16) и UCS-4 (4 байта на знак, подобно UTF-32). UCS означает универсальный многооктетный (многобайтовый) кодированный набор знаков (англ. Universal Multiple-Octet Coded Character Set). UCS-2 есть возможность считать подмножеством UTF-16 (UTF-16 в отсутствие суррогатных пар), а UCS-4 является синонимом для UTF-32.

    Методы представления

    Юникод имеет немного форм представления (англ. Unicode Transformation Format, UTF): UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). Была разработана также форма представления UTF-7 для передачи по семибитным каналам, однако из-за несовместимости с ASCII она не получила распространения и не включена в эталон. 1 апреля 2005 г. были предложены две шуточные формы представления: UTF-9 и UTF-18 (RFC 4042).

    В Microsoft Windows NT и основанных на ней системах Windows 2000 и Windows XP в главном употребляется форма UTF-16LE. В UNIX-схожих операционных системах GNU/Linux, BSD и Mac OS X принята форма UTF-8 для файлов и UTF-32 либо UTF-8 для обработки знаков в оперативки.

    UTF-8

    UTF-8 — это представление Юникода, обеспечивающее лучшую сопоставимость со старенькыми системами, использовавшими 8-битные знаки. Текст, состоящий только из знаков с номером меньше 128, при записи в UTF-8 преобразуется в обыденный текст ASCII. И напротив, в тексте UTF-8 хоть какой байт со значением меньше 128 изображает знак ASCII с этим же кодом. Другие знаки Юникода изображаются последовательностями длиной от 2 до 6 байтов (на самом деле, только до 4 байт, так как внедрение кодов больше 221 не планируется), в каких 1-ый байт всегда имеет вид 11xxxxxx, а другие — 10xxxxxx.

    Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9[1]. На данный момент эталон UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.

    Знаки UTF-8 получаются из Unicode последующим образом:

    Unicode UTF-8 0x00000000 — 0x0000007F: 0xxxxxxx 0x00000080 — 0x000007FF: 110xxxxx 10xxxxxx 0x00000800 — 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx 0x00010000 — 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

    (на теоретическом уровне вероятны, однако не включены в эталон также:) 0x00200000 — 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 0x04000000 — 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

    Направьте внимание на то, что хотя UTF-8 позволяет указать один и тот же знак несколькими методами, только более маленький из их верный. Другие формы должны отвергаться по суждениям безопасности.

    Порядок байтов

    В потоке данных UTF-16 старший байт может записываться или перед младшим (UTF-16 Big Endian), или после младшего (UTF-16 Little Endian). Время от времени шифровку Юникода Big Endian (UTF-16BE) именуют Юникодом с оборотным порядком байтов. Подобно существует два варианта четырёхбайтной шифровки — UTF-32BE и UTF-32LE.

    Для определения формата представления Юникода в текстовом файле употребляется приём, по которому сначала текста записывается знак U+FEFF (неразрывный пробел с нулевой шириной), также называемый меткой порядка байтов (англ. Byte Order Mark, BOM). Этот метод позволяет различать UTF-16LE и UTF-16BE, так как знака U+FFFE не существует. Также он время от времени применяется для обозначения формата UTF-8, хотя к этому формату и неприменимо понятие порядка байтов. Файлы, последующие этому соглашению, начинаются с подобных последовательностей байтов:

    UTF-8 EF BB BF UTF-16BE FE FF UTF-16LE FF FE UTF-32BE 00 00 FE FF UTF-32LE FF FE 00 00 К огорчению, этот метод не позволяет надёжно различать UTF-16LE и UTF-32LE, так как знак U+0000 допускается Юникодом (хотя реальные тексты изредка начинаются с него).

    Реализации Большая часть современных операционных систем в той либо другой степени обеспечивают поддержку Юникода.

    В операционных системах семейства Windows NT для внутреннего представления имён файлов и других системных строк употребляется двухбайтовая шифровка UTF-16LE. Системные вызовы, принимающие строковые характеристики, есть в однобайтном и двухбайтном вариантах. Подробнее см. в статье Юникод в операционных системах Microsoft.

    UNIX-образные операционные системы, в том числе, GNU/Linux, BSD, Mac OS X, употребляют для представления Юникода шифровку UTF-8. Большая часть программ могут работать с UTF-8 как с классическими однобайтными шифровками, не обращая внимания на то, что знак представляется как немного поочередных байт. Для работы с отдельными знаками строчки обычно перекодируются в UCS-4, так что каждому символу соответствует машинное слово.

    Одной из первых удачных коммерческих реализаций Юникода стала среда программирования Java. В ней принципно отказались от 8-битного представления знаков в пользу 16-битного. На данный момент большая часть языков программирования поддерживают строчки Юникода, хотя их представление может различаться зависимо от реализации.

    Способы ввода

    Так как ни одна раскладка клавиатуры не может позволить вводить все знаки Юникода вместе с этим, от операционных систем и прикладных программ требуется поддержка других способов ввода случайных знаков Юникода.

    Microsoft Windows Начиная с Windows 2000, служебная программка «Таблица символов» позволяет вывести на экран таблицу всех знаков от U+0000 до U+FFFF, поддерживаемых определенным шрифтом. Эта программка позволяет выделять отдельные знаки и копировать их в буфер обмена. Таблица знаков, подобная по функциональности этой программке, включена и в некие прикладные программки, к примеру, Microsoft Word.

    Более универсальный метод ввода знака, код которого известен — зажать Alt, надавить кнопку «плюс» в дополнительном блоке клавиатуры, и потом набрать шестнадцатеричный код требуемого знака. К примеру, нажатие Alt+Plus+f1 воткнет букву «ñ». Этот метод, но, работает не во всех элементах управления, позволяющих вводить текст.

    В неких приложениях, к примеру, WordPad, Word и Opera 7.5, работает ещё один метод ввода знаков по шестнадцатеричному коду: необходимо набрать этот код, и надавить Alt+X. Код будет заменён на соответственный знак. Работает и оборотное преобразование: в том случае выделить знак и надавить Alt+X, то этот знак будет заменён на его шестнадцатеричный код.

    Macintosh В Mac OS 8.5 и поболее поздних версиях поддерживается способ ввода, именуемый «Unicode Hex Input». При зажатой кнопке Option требуется набрать четырёхзначный шестнадцатеричный код требуемого знака. Этот способ позволяет вводить знаки с кодами, большими U+FFFF, используя пары суррогатов; такие пары операционной системой будут автоматом изменены на одиночные знаки. Этот способ ввода перед внедрением необходимо активизировать в соответственном разделе системных опций, и потом избрать как текущий способ ввода в меню клавиатуры.

    Начиная с Mac OS X 10.2, существует также приложение «Character Palette», позволяющее выбирать знаки из таблицы, в какой есть возможность выделять знаки определённого блока либо знаки, поддерживаемые определенным шрифтом.

    GNU/Linux В GNOME также есть утилита «Таблица символов», позволяющая показывать знаки определённого блока либо системы письма, и предоставляющая возможность поиска по наименованию либо описанию знака. Когда код подходящего знака известен, его есть возможность ввести в согласовании со эталоном ISO 14755: при зажатых кнопках Ctrl и Shift ввести шестнадцатеричный код (в GNOME версии 2.15 либо более поздней ввод кода необходимо предварить нажатием кнопки «U»). Вводимый шестнадцатеричный код может иметь до 32 бит в длину, позволяя вводить любые знаки Юникода в отсутствие использования суррогатных пар.

    Все приложения X Window, включая GNOME и KDE, поддерживают ввод с помощью кнопки Compose. Для клавиатур, на которых нет отдельной кнопки Compose, для этой цели есть возможность назначить всякую кнопку — к примеру, CapsLock.

    Консоль GNU/Linux также допускает ввод знака Юникода по его коду — для этого десятичный код знака необходимо ввести цифрами расширенного блока клавиатуры при зажатой кнопке Alt. Есть возможность вводить знаки и по их шестнадцатеричному коду: для этого необходимо зажать кнопку AltGr, и для ввода цифр A-F применять кнопки расширенного блока клавиатуры от NumLock до Enter (по часовой стрелке). Поддерживается также и ввод в согласовании с ISO 14755. Для того, чтоб перечисленные методы имели возможность работать, необходимо включить юникодный режим консоли вызовом unicode-start(1) и избрать подходящий шрифт вызовом setfont(8).

    Мозилла Firefox для Linux поддерживает ввод знаков по ISO 14755.

    Трудности Юникода

    Как неважно какая изобретённая человеком система, Юникод не свободен от недочетов (хотя, в главном, они связаны с способностями обработчиков текста, а не прямо с принципом кодировки).

  • Некие системы письма всё ещё не представлены подабающим образом в Юникоде. К примеру, отсутствуют некие буквы классической письменности церковнославянского языка. Эта письменность содержит много дополнительных графических частей (такие, как титла и выносные буквы). Изображение «длинных» надстрочных знаков, простирающихся над несколькими буквами, пока не реализовано.
  • Тексты на китайском, корейском и японском языке имеют обычное написание сверху вниз, начиная с правого верхнего угла. Переключение горизонтального и вертикального написания для этих языков не предвидено в Юникоде — это обязано осуществляться средствами языков разметки либо внутренними механизмами текстовых микропроцессоров.
  • Начальная версия Юникода подразумевала наличие огромного количества готовых знаков, в следующем было отдано предпочтение сочетанию букв с диакритическими преобразующими знаками (Combining diacritics). К примеру, российские буквы Ё (U+0401) и Й (U+0419) есть в виде цельных знаков, хотя могут быть представлены и набором базисного знака с следующим диакритическим знаком, другими словами в составной форме (Decomposed): Е+ ? (U+0415 U+0308), И+ ? (U+0418 U+0306). Тогда же огромное количество знаков из языков с алфавитами на базе кириллицы не имеют цельных форм.
  • Юникод предугадывает возможность различных начертаний 1-го и такого же знака зависимо от языка. Так, китайские иероглифы могут иметь различные начертания в китайском, японском (кандзи) и корейском (ханчча), однако при всем этом в Юникоде обозначаться одним и этим же эмблемой (так именуемая CJK-унификация), хотя упрощённые и полные иероглифы всё же имеют различные коды. Нередко появляются накладки, когда, к примеру, японский текст смотрится «по-китайски». Подобно, российский и сербский языки употребляют различное начертание курсивных букв п и т (в сербском они смотрятся как и и ш). Потому необходимо смотреть, чтоб текст всегда был верно помечен как относящийся к тому либо другому языку.
  • Файлы с текстом в Юникоде занимают больше места в памяти, потому что один знак кодируется не одним байтом, как в разных государственных шифровках, а последовательностью байтов (исключение составляет UTF-8 для языков, алфавит которых укладывается в ASCII). Но с повышением мощности компьютерных систем и удешевлением памяти и дискового места эта неувязка становится всё наименее значимой.
  • Хотя поддержка Юникода реализована в более распространённых операционных системах, не всё прикладное программное обеспечение поддерживает корректную работу с ним. А именно, не всегда обрабатываются метки BOM и плохо поддерживаются диакритические знаки. Неувязка является временной и есть следствие сравнительной новизны эталонов Юникода (в сопоставлении с однобайтовыми государственными шифровками).
  • «Юникод» либо «Уникод»? «Unicode» — вместе с этим и имя собственное (либо часть имени, к примеру Unicode Consortium), и имя нарицательное, происходящее из британского языка.

    На 1-ый взор лучше применять написание «Уникод». В российском языке уже есть морфемы «уни-» (слова с латинским элементом «uni-» обычно переводились и писались через «уни-»: универсальный, униполярный, унификация, униформа) и «код». Напротив, марки, взятые из британского языка, обычно передаются средством практической транскрипции, в какой деэтимологизированное сочетание букв «uni-» записывается в виде «юни-» («Юнилевер», «Юникс» и т. п.), другими словами точно так же, как в случае с побуквенными сокращениями, вроде UNICEF «United Nations International Children’s Emergency Fund» — ЮНИСЕФ.

    В качестве перевода имени нарицательного, слово «уникод» есть возможность было бы подвергать рассмотрению как сложносокращённое — к примеру, от выражения «универсальная кодировка». Но это привело бы к возникновению 2-ух слов с схожим звучанием и колебанию значений. Потому при локализации операционной системы Windows 95 компания «Майкрософт» ввела написание российского слова «Юникод» по форме имени собственного.

    Написание «Юникод» уже твёрдо вошло в русские тексты. Согласно «Яндексу», частота использования этого слова в 3,5 раза превосходит «Уникод». В Википедии употребляется более распространённый вариант.

    На веб-сайте консорциума есть особая страничка, где рассматриваются трудности передачи слова «Unicode» в разных языках и системах письма. Для российской кириллицы указан вариант «Юникод».

    Источник: Википедия

    Полезные ссылки :

  • Официальный веб-сайт Консорциума Юникода(англ.)
  • Википедия:Проект:Внесение знаков алфавитов народов Рф в Юникод
  • Что такое Unicode?
  • Версия 5.0.0 эталона Юникод (англ.)
  • Связь Юникода и ISO/IEC 10646 (файл PDF) (англ.)
  • Кириллица в Юникоде (файл PDF) (англ.)
  • DecodeUnicode — Unicode WIKI (англ.), 50 000 изображений знаков
  • Включение поддержки дополнительных знаков Юникода в Windows (англ.)
  • Знаки, выставленные в Юникоде
  • Кириллица в Юникоде (Википедия)
  • Array

    Добавить комментарий

    орфографическая ошибка в тексте:
    чтобы сообщить об ошибке автору, нажмите кнопку "отправить сообщение об ошибке". вы также можете отправить свой комментарий.

    Задать вопрос прямо сейчас