Специальные (блок Unicode) - Specials (Unicode block)

Специальные
Диапазон U + FFF0..U + FFFF
(16 кодовых точек)
Самолет BMP
Скрипты Общий
Назначенный 5 кодовых точек
Неиспользованный 9 зарезервированных кодовых точек
2 несимвола
История версий Unicode
1.0.0 (1991) 1 (+1)
2.1 (1998) 2 (+1)
3,0 (1999) 5 (+3)
Примечание :

Specials - это короткий блок Unicode, расположенный в самом конце базовой многоязычной плоскости в U + FFF0 – FFFF. Из этих 16 кодовых точек пять были присвоены начиная с Unicode 3.0:

  • U + FFF9 МЕЖЛИНЕЙНЫЙ ЯКОРЬ АННОТАЦИИ , отмечает начало аннотированного текста
  • U + FFFA МЕЖЛИНЕЙНЫЙ СЕПАРАТОР АННОТАЦИИ , отмечает начало аннотирующего символа (ов)
  • U + FFFB ИНТЕРЛИНЕЙНЫЙ ТЕРМИНАТОР АННОТАЦИИ , отмечает конец блока аннотации
  • U + FFFC  СИМВОЛ ЗАМЕНЫ ОБЪЕКТА , заполнитель в тексте для другого неуказанного объекта, например, всоставном документе.
  • U + FFFD ЗАМЕНА СИМВОЛОВ используется для замены неизвестного, непризнанных или непредставимо характер
  • U + FFFE <noncharacter-FFFE> не символ.
  • U + FFFF <noncharacter-FFFF> не символ.

FFFE и FFFF не являются неназначенными в обычном смысле, но гарантированно не являются символами Unicode . Их можно использовать, чтобы угадать схему кодировки текста, поскольку любой текст, содержащий их, по определению не является правильно закодированным текстом Unicode. Символ Unicode U + FEFF BYTE ORDER MARK может быть вставлен в начало текста Unicode, чтобы обозначить его порядок следования байтов : программа, читающая такой текст и обнаруживающая 0xFFFE, будет знать, что она должна переключить порядок байтов для всех следующих символов.

Его имя блока в Unicode 1.0 было Special .

Замещающий персонаж

Замещающий персонаж

Символ замены (часто отображается как черный ромб с белым вопросительным знаком) - это символ, который можно найти в стандарте Unicode в кодовой точке U + FFFD в таблице Specials . Он используется для обозначения проблем, когда система не может преобразовать поток данных в правильный символ. Обычно это видно, когда данные недействительны и не соответствуют ни одному символу:

Рассмотрим текстовый файл, содержащий немецкое слово für (что означает «для») в кодировке ISO-8859-1 ( 0x66 0xFC 0x72). Теперь этот файл открывается в текстовом редакторе, предполагающем, что вводится в кодировке UTF-8 . Первый и последний байт являются допустимыми кодировками UTF-8 для ASCII, но средний байт ( 0xFC) не является допустимым байтом в UTF-8. Следовательно, текстовый редактор может заменить этот байт символом замены, чтобы создать допустимую строку кодовых точек Unicode . Теперь вся строка выглядит так: «f r».

Плохо реализованный текстовый редактор может сохранить замену в форме UTF-8; тогда данные текстового файла будут выглядеть так:, 0x66 0xEF 0xBF 0xBD 0x72который будет отображаться в ISO-8859-1 как «f�r» (это называется моджибаке ). Поскольку замена одинакова для всех ошибок, восстановить исходный символ невозможно. Лучше (но труднее реализовать) дизайн - сохранить исходные байты, включая ошибку, и преобразовать в замену только при отображении текста. Это позволит текстовому редактору сохранить исходную последовательность байтов, по-прежнему показывая пользователю индикатор ошибки.

Когда-то заменяющий символ часто использовался, когда в шрифте не было глифа для этого символа. Однако в большинстве современных систем визуализации текста вместо шрифта используется символ .notdef , который в большинстве случаев представляет собой пустое поле (или «?» Или «X» в поле), иногда называемый « тофу » (этот браузер отображает ???? ). Для этого символа нет кода Unicode.

Таким образом, заменяющий символ теперь виден только для ошибок кодирования, таких как недопустимый UTF-8. Некоторое программное обеспечение пытается скрыть это, переводя байты недопустимого UTF-8 в совпадающие символы в Windows-1252 (поскольку это наиболее вероятный источник этих ошибок), так что заменяющий символ никогда не виден.

Диаграмма Unicode

Таблица
кодов Specials Official Unicode Consortium (PDF)
  0 1 2 3 4 5 6 7 8 9 А B C D E F
U + FFFx  IA 
A
 IA 
S
 IA 
T
Примечания
1. ^ Начиная с версии Unicode 14.0
2. ^ Серые области обозначают неназначенные кодовые точки.
3. ^ Черные области обозначают несимволы (кодовые точки, которые, как гарантируется, никогда не будут назначены как закодированные символы в стандарте Unicode)

История

Следующие документы, относящиеся к Unicode, фиксируют цель и процесс определения определенных символов в блоке Specials:

Версия Окончательные кодовые точки Считать UTC  ID L2  ID  ID WG2 Документ
1.0.0 U + FFFD 1 (быть определенным)
U + FFFE..FFFF 2 (быть определенным)
L2 / 01-295R Мур, Лиза (2001-11-06), "Движение 88-M2", протокол встречи UTC / L2 # 88
L2 / 01-355 N2369 (HTML , doc ) Дэвис, Марк (26 сентября 2001 г.), Запрос на разрешение FFFF, FFFE в UTF-8 в тексте ISO / IEC 10646
L2 / 02-154 N2403 Умамахесваран, VS (2002-04-22), "9.3 Разрешение FFFF и FFFE в UTF-8", проект протокола заседания 41 WG 2, отель Phoenix, Сингапур, 15 октября 2001 г.
2.1 U + FFFC 1 UTC / 1995-056 Сарджент, Мюррей (1995-12-06), Рекомендация кодировать символ WCH_EMBEDDING
UTC / 1996-002 Алипранд, Жанна; Харт, Эдвин; Гринфилд, Стив (1996-03-05), «Встроенные объекты», UTC # 67 минут
N1365 Сарджент, Мюррей (1996-03-18), Краткое изложение предложения - Персонаж, заменяющий объект
N1353 Умамахесваран, ВС; Ксар, Майк (1996-06-25), "8.14", проект протокола совещания WG2 в Копенгагене № 30
L2 / 97-288 N1603 Умамахесваран, ВС (1997-10-24), "7.3", неподтвержденный протокол заседания, РГ 2, заседание № 33, Ираклион, Крит, Греция, 20 июня - 4 июля 1997 г.
L2 / 98-004R N1681 Текст ISO 10646 - AMD 18 для регистрации PDAM и бюллетеня FPDAM, 1997-12-22
L2 / 98-070 Алипранд, Жанна; Винклер, Арнольд, «Дополнительные комментарии относительно 2.1», Протокол совместной встречи UTC и L2 встречи в Купертино, 25-27 февраля 1998 г.
L2 / 98-318 N1894 Пересмотренный текст 10646-1 / FPDAM 18, ПОПРАВКА 18: Символы и прочее , 1998-10-22
3.0 U + FFF9..FFFB 3 L2 / 97-255R Алипранд, Джоан (1997-12-03), "3.D Proposal for In-Line Notation (ruby)", Approved Minutes - UTC # 73 & L2 # 170 совместное заседание, Пало-Альто, Калифорния - 4-5 августа 1997 г.
L2 / 98-055 Фрейтаг, Асмус (1998-02-22), Поддержка реализации встроенных и подстрочных аннотаций
L2 / 98-070 Алипранд, Жанна; Винклер, Арнольд, «3.C.5. Поддержка реализации встроенных и подстрочных аннотаций», Протокол совместной встречи в формате UTC и L2 на встрече в Купертино, 25-27 февраля 1998 г.
L2 / 98-099 N1727 Фрейтаг, Асмус (1998-03-18), Поддержка внедрения подстрочных аннотаций, используемых в восточноазиатской типографике
L2 / 98-158 Алипранд, Жанна; Винклер, Арнольд (1998-05-26), "Встроенные и подстрочные аннотации", проект протокола - совместное заседание подгруппы L2 # 173 UTC № 76 и NCITS, Тредифрин, Пенсильвания, 20-22 апреля 1998 г.
L2 / 98-286 N1703 Умамахесваран, ВС; Ксар, Майк (1998-07-02), «8.14», неподтвержденный протокол собрания, РГ 2, собрание № 34, Редмонд, Вашингтон, США; 1998-03-16-20
L2 / 98-270 Хиура, Хидеки; Кобаяши, Тацуо (1998-07-29), Предложение по встроенной и подстрочной аннотации
L2 / 98-281R (pdf , html ) Алипранд, Джоан (1998-07-31), «Встроенная и подстрочная аннотация (III.C.1.c)», неподтвержденные протоколы - UTC # 77 и NCITS Subgroup L2 # 174 СОВМЕСТНОЕ ВСТРЕЧА, Редмонд, Вашингтон - июль 29-31, 1998 г.
L2 / 98-363 N1861 Сато, Т.К. (1998-09-01), Рубиновые маркеры
L2 / 98-372 N1884R2 (pdf , doc ) Уистлер, Кен; и другие. (1998-09-22), Дополнительные персонажи для UCS
L2 / 98-416 N1882.zip Поддержка внедрения подстрочных аннотаций , 23 сентября 1998 г.
L2 / 98-329 N1920 Комбинированный бюллетень регистрации и рассмотрения PDAM на WD для ISO / IEC 10646-1 / Amd. 30, ПОПРАВКА 30: Дополнительные латинские и другие символы , 1998-10-28
L2 / 98-421R Suignard, Мишель; Хиура, Хидеки (1998-12-04), Заметки о подстрочных аннотационных символах PDAM 30
L2 / 99-010 N1903 (pdf , html , doc ) Умамахесваран, ВС (1998-12-30), "8.2.15", Протокол заседания РГ 2 № 35, Лондон, Великобритания; 1998-09-21-25
L2 / 98-419 (pdf , doc ) Алипранд, Джоан (1999-02-05), «Подстрочные символы аннотации», утвержденный протокол - UTC № 78 и NCITS Subgroup L2 № 175 Совместное совещание, Сан-Хосе, Калифорния - 1-4 декабря 1998 г.
UTC / 1999-021 Дюрст, Мартин; Босак, Джон (1999-06-08), W3C XML CG-инструкция для символов аннотации
L2 / 99-176R Мур, Лиза (1999-11-04), "Заявление о взаимодействии W3C по аннотационным персонажам", Протоколы совместной встречи UTC / L2 в Сиэтле, 8-10 июня 1999 г.
L2 / 01-301 Уистлер, Кен (2001-08-01), "E. Обозначено как" настоятельно не рекомендуется "для обмена обычным текстом", Анализ устаревания символов в стандарте Unicode

Смотрите также

использованная литература