Специальные предложения | |
---|---|
Диапазон | U+FFF0..U+FFFF (16 кодовых точек) |
Самолет | БМП |
Скрипты | Общий |
Назначенный | 5 кодовых точек |
Неиспользованный | 9 зарезервированных кодовых точек 2 несимвола |
История версий Unicode | |
1.0.0 (1991) | 1 (+1) |
2.1 (1998) | 2 (+1) |
3.0 (1999) | 5 (+3) |
Документация по Юникоду | |
Кодовая таблица ∣ Веб-страница | |
Примечание : [1] [2] |
Специальные символы — это короткий блок символов Unicode , расположенный в самом конце базовой многоязычной плоскости , в позиции U+FFF0–FFFF, содержащий следующие кодовые точки :
U+FFFE <несимвол- FFFE> и U+FFFF <несимвол- FFFF> являются несимволами , то есть они зарезервированы, но не приводят к неправильному формированию текста Unicode. Версии стандарта Unicode с 3.1.0 по 6.3.0 утверждали, что эти символы никогда не должны меняться местами, что привело к тому, что некоторые приложения использовали их для угадывания кодировки текста, интерпретируя наличие любого из них как признак того, что текст не является Unicode. Однако позже в исправлении № 9 было указано, что несимволы не являются незаконными, и поэтому этот метод проверки кодировки текста неверен. [3] Примером внутреннего использования U+FFFE является алгоритм CLDR ; этот расширенный алгоритм Unicode сопоставляет несимвол с минимальным уникальным первичным весом. [4]
Символ Unicode U+FEFF ZERO WIDTH NO-BREAK SPACE может быть вставлен в начало текста Unicode для обозначения порядка байтов : программа, читающая такой текст и встречающая 0xFFFE, будет знать, что ей следует изменить порядок байтов для всех последующих символов.
Его название блока в Unicode 1.0 было Special . [5]
Заменяющий символ � ( часто отображается как черный ромб с белым вопросительным знаком) — это символ, который находится в стандарте Unicode в кодовой точке U+FFFD в таблице Specials . Он используется для указания проблем, когда система не может отобразить поток данных для исправления символов. [6]
Например, текстовый файл, закодированный в ISO 8859-1 , содержащий немецкое слово für, содержит байты 0x66 0xFC 0x72
. Если этот файл открыть с помощью текстового редактора, который предполагает, что входные данные — UTF-8 , первый и третий байты являются допустимыми кодировками UTF-8 ASCII , но второй байт ( 0xFC
) недопустим в UTF-8. Текстовый редактор может заменить этот байт заменяющим символом, чтобы создать допустимую строку кодовых точек Unicode для отображения, поэтому пользователь увидит «f�r».
Плохо реализованный текстовый редактор может записать заменяющий символ, когда пользователь сохраняет файл; тогда данные в файле станут 0x66 0xEF 0xBF 0xBD 0x72
. Если файл повторно открыть с использованием ISO 8859-1, он отобразит "f�r" (это называется mojibake ). Поскольку замена одинакова для всех ошибок, восстановить исходный символ невозможно. Более удачный (но более сложный в реализации) дизайн заключается в сохранении исходных байтов, включая любые ошибки, и преобразовании в замену только при отображении текста. Это позволит текстовому редактору сохранить исходную последовательность байтов, при этом показав пользователю индикацию ошибки.
В свое время символ замены часто использовался, когда в шрифте не было глифа для этого символа, как в font substitution . Однако большинство современных систем рендеринга текста вместо этого используют символ .notdef шрифта , который в большинстве случаев представляет собой пустой квадрат или "?" или "X" в квадрате [7] (этот браузер отображает �), иногда называемый ' tofu '. Для этого символа нет кодовой точки Unicode.
Таким образом, символ замены теперь виден только для ошибок кодировки. Некоторые программы преобразуют недействительные байты UTF-8 в соответствующие символы в Windows-1252 (поскольку это наиболее распространенный источник этих ошибок), так что символ замены никогда не виден.
Специальные предложения [1] [2] [3] Официальная таблица кодов Консорциума Unicode (PDF) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | Э | Ф | |
U+FFFx | ИАА | МСФО | ИАТ |  | � | |||||||||||
Примечания
|
В следующих документах, связанных с Unicode, описаны цель и процесс определения конкретных символов в блоке Specials:
Версия | Конечные кодовые точки [a] | Считать | UTC- идентификатор | L2- идентификатор | WG2 идентификатор | Документ |
---|---|---|---|---|---|---|
1.0.0 | У+ФФФД | 1 | (будет определено) | |||
У+ФФФЕ..ФФФФ | 2 | (будет определено) | ||||
Л2/01-295Р | Мур, Лиза (06.11.2001), «Предложение 88-M2», Протокол заседания UTC/L2 № 88 | |||||
Л2/01-355 | N2369 (html, док) | Дэвис, Марк (2001-09-26), Запрос на разрешение FFFF, FFFE в UTF-8 в тексте ISO/IEC 10646 | ||||
Л2/02-154 | N2403 | Умамахесваран, ВС (22.04.2002), «9.3 Разрешение FFFF и FFFE в UTF-8», Проект протокола заседания WG 2 41, отель Phoenix, Сингапур, 15.10.2001 г. 19 | ||||
2.1 | U+FFFC | 1 | UTC/1995-056 | Сарджент, Мюррей (1995-12-06), Рекомендация по кодированию символа WCH_EMBEDDING | ||
UTC/1996-002 | Алипранд, Джоан; Харт, Эдвин; Гринфилд, Стив (1996-03-05), «Встроенные объекты», UTC #67 Minutes | |||||
N1365 | Сарджент, Мюррей (1996-03-18), Краткое изложение предложения – Характер замены объекта | |||||
N1353 | Умамахесваран, ВС; Ксар, Майк (1996-06-25), "8.14", Проект протокола заседания WG2 в Копенгагене № 30 | |||||
Л2/97-288 | N1603 | Умамахесваран, ВС (1997-10-24), "7.3", Неподтвержденный протокол заседания, заседание РГ 2 № 33, Ираклион, Крит, Греция, 20 июня – 4 июля 1997 г. | ||||
Л2/98-004Р | N1681 | Текст ISO 10646 – AMD 18 для регистрации PDAM и голосования FPDAM , 1997-12-22 | ||||
Л2/98-070 | Алипранд, Джоан; Винклер, Арнольд, «Дополнительные комментарии относительно 2.1», Протокол совместного заседания UTC и L2 в Купертино, 25-27 февраля 1998 г. | |||||
Л2/98-318 | N1894 | Пересмотренный текст 10646-1/FPDAM 18, ПОПРАВКА 18: Символы и прочее , 1998-10-22 | ||||
3.0 | U+FFF9..FFFB | 3 | Л2/97-255Р | Алипранд, Джоан (03.12.1997), «Предложение 3.D для внутристрочной нотации (ruby)», утвержденный протокол – совместное заседание UTC № 73 и L2 № 170, Пало-Альто, Калифорния – 4-5 августа 1997 г. | ||
Л2/98-055 | Фрейтаг, Асмус (22 февраля 1998 г.), Поддержка реализации встроенных и подстрочных аннотаций | |||||
Л2/98-070 | Алипранд, Джоан; Винклер, Арнольд, «3.C.5. Поддержка внедрения встроенных и межстрочных аннотаций», Протокол совместного заседания UTC и L2 в Купертино, 25–27 февраля 1998 г. | |||||
Л2/98-099 | N1727 | Фрейтаг, Асмус (1998-03-18), Поддержка внедрения межстрочных аннотаций, используемых в восточноазиатской типографике | ||||
Л2/98-158 | Алипранд, Джоан; Винклер, Арнольд (26.05.1998), «Внутристрочные и межстрочные аннотации», черновик протокола – совместное заседание UTC № 76 и подгруппы NCITS L2 № 173, Тредиффрин, Пенсильвания, 20–22 апреля 1998 г. | |||||
Л2/98-286 | N1703 | Умамахесваран, ВС; Ксар, Майк (1998-07-02), "8.14", Неподтвержденный протокол заседания, заседание WG 2 № 34, Редмонд, Вашингтон, США; 1998-03-16--20 | ||||
Л2/98-270 | Хиура, Хидеки; Кобаяши, Тацуо (1998-07-29), Предложение по предложению внутристрочных и межстрочных аннотаций | |||||
L2/98-281R (pdf, html) | Алипранд, Джоан (31 июля 1998 г.), «Внутристрочные и межстрочные аннотации (III.C.1.c)», неподтвержденные протоколы – СОВМЕСТНОЕ ЗАСЕДАНИЕ UTC № 77 и подгруппы NCITS L2 № 174, Редмонд, Вашингтон, 29–31 июля 1998 г. | |||||
Л2/98-363 | N1861 | Сато, ТК (1998-09-01), Рубиновые маркеры | ||||
Л2/98-372 | N1884R2 (pdf, док) | Уистлер, Кен и др. (1998-09-22), Дополнительные символы для UCS | ||||
Л2/98-416 | N1882.zip | Поддержка реализации межстрочных аннотаций , 1998-09-23 | ||||
Л2/98-329 | N1920 | Объединенный бюллетень по регистрации PDAM и рассмотрению WD для ISO/IEC 10646-1/Amd. 30, ПОПРАВКА 30: Дополнительные латинские и другие символы , 28 октября 1998 г. | ||||
Л2/98-421Р | Сюиньяр, Мишель; Хиура, Хидеки (1998-12-04), Заметки о 30 символах межстрочной аннотации PDAM | |||||
Л2/99-010 | N1903 (pdf, html, doc) | Умамахесваран, ВС (30.12.1998), "8.2.15", Протокол заседания РГ 2 35, Лондон, Великобритания; 21--25.09.1998 | ||||
L2/98-419 (pdf, doc) | Алипранд, Джоан (05.02.1999), «Символы межстрочных аннотаций», утвержденный протокол — Совместное заседание UTC № 78 и подгруппы NCITS L2 № 175, Сан-Хосе, Калифорния — 1–4 декабря 1998 г. | |||||
UTC/1999-021 | Дюрст, Мартин; Босак, Джон (08 июня 1999 г.), Заявление W3C XML CG о символах аннотации | |||||
Л2/99-176Р | Мур, Лиза (1999-11-04), «Заявление о взаимодействии W3C по символам аннотаций», Протокол совместной встречи UTC/L2 в Сиэтле, 8-10 июня 1999 г. | |||||
Л2/01-301 | Уистлер, Кен (01.08.2001), «E. Указано как «настоятельно не рекомендуемое» для обмена простым текстом», Анализ устаревания символов в стандарте Unicode | |||||
|
{{cite web}}
: CS1 maint: url-status ( ссылка )