Jump to content

Универсальный набор кодированных символов

(Перенаправлено из ISO-10646 )

Универсальный набор кодированных символов
Псевдоним(а) UCS, Юникод
Язык(и) Международный
Стандартный ИСО/МЭК 10646
Форматы кодирования UTF-8 , UTF-16 , ГБ 18030
Реже : UTF-32 , BOCU , SCSU , UTF-7.
Предшественник ISO/IEC 8859 , ISO/IEC 2022 и другие.

Универсальный набор кодированных символов ( UCS , Unicode ) — это стандартный набор символов , определенный международным стандартом ISO / IEC 10646, Информационные технологии — Универсальный набор кодированных символов (UCS) (плюс поправки к этому стандарту), который является основой многих кодировки символов , улучшающиеся по мере добавления символов из ранее не представленных систем типизации.

UCS имеет более 1,1 миллиона возможных кодовых точек, доступных для использования/распределения, но только первые 65 536, то есть базовая многоязычная плоскость (BMP), вошли в общее использование до 2000 года. Эта ситуация начала меняться, когда Китайская Народная Республика ( КНР) в 2006 году постановила, что все программное обеспечение, продаваемое в ее юрисдикции, должно поддерживать GB 18030 . Это требовало программного обеспечения, предназначенного для продажи в КНР, для выхода за рамки БМП. [ нужны разъяснения ]

Система намеренно оставляет множество кодов, не присвоенных символам, даже в BMP. Это делается для того, чтобы обеспечить возможность дальнейшего расширения или минимизировать конфликты с другими формами кодирования.

В исходной редакции UCS была определена UTF-16 , расширение UCS-2, для представления кодовых точек вне BMP. Диапазон кодовых точек в зоне S (специальной) BMP остается неназначенным символам. UCS-2 запрещает использование кодовых значений для этих кодовых точек, но UTF-16 позволяет использовать их парами. Unicode также принял UTF-16, но в терминологии Unicode элементы верхней полузоны становятся «высокими суррогатами», а элементы нижней полузоны становятся «низкими суррогатами». [ нужны разъяснения ]

Другая кодировка, UTF-32 (ранее называвшаяся UCS-4), использует четыре байта (всего 32 бита) для кодирования одного символа кодового пространства. Таким образом, UTF-32 допускает двоичное представление каждой точки кода (по состоянию на 2024 год) в API и программных приложениях.

Международная организация по стандартизации (ISO) приступила к созданию универсального набора символов в 1989 году и опубликовала проект ISO 10646 в 1990 году. Хью МакГрегор Росс был одним из его главных архитекторов.

Эта работа происходила независимо от разработки стандарта Unicode , который разрабатывался с 1987 года компаниями Xerox и Apple .

Первоначальный проект ISO 10646 заметно отличался от действующего стандарта. Он определил:

  • 128 групп
  • 256 самолетов
  • 256 рядов
  • 256 ячеек,

кажущаяся общая длина составляет 2 147 483 648 символов, но на самом деле стандарт мог кодировать только 679 477 248 символов, поскольку политика запрещала байтовые значения управляющих кодов C0 и C1 (от 0x00 до 0x1F и от 0x80 до 0x9F в шестнадцатеричной записи) в любом из четырех байтов. задание группы, плоскости, строки и ячейки. Например, латинская заглавная буква A находилась в группе 0x20, плоскости 0x20, строке 0x20, ячейке 0x41.

Символы этого изначального стандарта ISO/IEC 10646 можно закодировать одним из трех способов:

  1. UCS-4, четыре байта на каждый символ, что обеспечивает простое кодирование всех символов;
  2. UCS-2, два байта на каждый символ, позволяющий кодировать первую плоскость, 0x20, базовую многоязычную плоскость, содержащую первые 36 864 кодовых точки, напрямую, а также другие плоскости и группы путем переключения на них с помощью ISO/IEC 2022 ; escape-последовательностей
  3. UTF-1 , который кодирует все символы в последовательности байтов различной длины (от 1 до 5 байт, каждый из которых не содержит управляющих кодов).

Таким образом, в 1990 году существовало две инициативы по созданию универсального набора символов: Unicode с 16 битами для каждого символа (65 536 возможных символов) и ISO/IEC 10646. Компании-разработчики программного обеспечения отказались принять требования стандарта ISO к сложности и размеру и смогли убедить ряд национальных органов ИСО проголосовать против него. [ нужна ссылка ] Должностные лица ISO осознали, что не могут продолжать поддерживать стандарт в его нынешнем состоянии, и договорились об унификации своего стандарта с Unicode. Произошло два изменения: снятие ограничения на количество символов (запрет на значения управляющего кода), что открыло для распределения кодовые точки; и синхронизация репертуара базовой многоязычной плоскости с репертуаром Unicode.

Между тем, с течением времени ситуация в самом стандарте Unicode изменилась: 65 536 символов оказались недостаточными, а стандарт начиная с версии 2.0 и далее поддерживает кодирование 1 112 064 кодовых точек из 17 плоскостей с помощью UTF-16. суррогатного механизма . По этой причине ISO/IEC 10646 был ограничен содержанием такого количества символов, которое может быть закодировано с помощью UTF-16, и не более, то есть чуть более миллиона символов вместо более чем 679 миллионов. Кодировка UCS-4 ISO/IEC 10646 была включена в стандарт Unicode с ограничением диапазона UTF-16 и под названием UTF-32 , хотя она практически не используется вне внутренних данных программ.

Роб Пайк и Кен Томпсон , разработчики операционной системы Plan 9 , разработали новую, быструю и хорошо продуманную кодировку смешанной ширины, которая также была обратно совместима с 7-битным ASCII , и которая получила название UTF-8 . [1] и в настоящее время является самой популярной кодировкой UCS.

Отличия от Юникод

[ редактировать ]

ISO/IEC 10646 и Unicode имеют идентичный репертуар и номера — в обоих стандартах существуют одни и те же символы с одинаковыми номерами, хотя Unicode выпускает новые версии и чаще добавляет новые символы. В Unicode есть правила и спецификации, выходящие за рамки ISO/IEC 10646. ISO/IEC 10646 — это простая карта символов, расширение предыдущих стандартов, таких как ISO/IEC 8859 . Напротив, Unicode добавляет правила сортировки , нормализации форм и двунаправленный алгоритм для сценариев с письмом справа налево, таких как арабский и иврит. Для взаимодействия между платформами, особенно если используются двунаправленные сценарии, недостаточно поддерживать ISO/IEC 10646; Юникод должен быть реализован.

Для поддержки этих правил и алгоритмов Unicode добавляет множество свойств к каждому символу в наборе, например свойства, определяющие класс двунаправленного письма по умолчанию, и свойства, определяющие, как символ сочетается с другими символами. Если символ представляет числовое значение, например европейское число «8» или обычную дробь «¼», это числовое значение также добавляется как свойство символа. Юникод предполагает, что эти свойства будут поддерживать совместимую обработку текста на разных языках.

Некоторые приложения поддерживают символы ISO/IEC 10646, но не полностью поддерживают Unicode. Одно из таких приложений, Xterm , может правильно отображать все символы ISO/IEC 10646, которые имеют однозначное сопоставление символов с глифами. [ нужны разъяснения ] и однонаправленность. Он может обрабатывать некоторые комбинированные знаки простыми методами перечеркивания, но не может отображать иврит (двунаправленный), деванагари (один символ для многих глифов) или арабский язык (обе функции). Большинство приложений с графическим пользовательским интерфейсом используют стандартные процедуры рисования текста ОС, которые обрабатывают такие сценарии, хотя сами приложения по-прежнему не всегда обрабатывают их правильно.

Ссылка на универсальный кодированный набор символов

[ редактировать ]

ISO/IEC 10646 , общая неофициальная ссылка на семейство стандартов ISO/IEC 10646, приемлема в большинстве случаев. И хотя это отдельный стандарт, термин Unicode столь же часто неофициально используется при обсуждении UCS. Однако в любых нормативных ссылках на UCS как на публикацию должен указываться год издания в форме ISO/IEC 10646:{год} , например: ISO/IEC 10646:2014 .

Связь с Юникодом

[ редактировать ]

С 1991 года Консорциум Unicode и ISO / IEC разработали Стандарт Unicode совместно («Юникод») и ISO/IEC 10646. Репертуар, имена символов и кодовые точки Unicode версии 2.0 точно соответствуют стандарту ISO/IEC 10646-1:1993 с его первыми семью опубликованными поправками. После публикации Unicode 3.0 в феврале 2000 года соответствующие новые и обновленные символы вошли в UCS через ISO/IEC 10646-1:2000. В 2003 году части 1 и 2 стандарта ISO/IEC 10646 были объединены в одну часть, в которую с тех пор был внесен ряд поправок, добавляющих в стандарт символы, примерно синхронные со стандартом Unicode.

См. также

[ редактировать ]

Сопутствующие стандарты:

  1. ^ Пайк, Роб (3 апреля 2003 г.). «История UTF-8» . Архивировано из оригинала 23 мая 2016 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ffe9c4969516bb27327e97343a68aa73__1718702520
URL1:https://arc.ask3.ru/arc/aa/ff/73/ffe9c4969516bb27327e97343a68aa73.html
Заголовок, (Title) документа по адресу, URL1:
Universal Coded Character Set - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)