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

Специальные
КлассифицироватьU + FFF0..U + FFFF
(16 кодовых точек)
СамолетBMP
СкриптыОбщий
Назначенный5 кодовых точек
Неиспользованный9 зарезервированных кодовых точек
2 не символов
История версий Unicode
1.0.01 (+1)
2.12 (+1)
3.05 (+3)
Примечание: [1][2]

Специальные короткий 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. Юникод U + FEFF МАРКА ЗАКАЗА БАЙТОВ может быть вставлен в начало текста Unicode, чтобы обозначить его порядок байтов: программа, читающая такой текст и обнаруживающая 0xFFFE, будет знать, что она должна изменить порядок байтов для всех следующих символов.

Его имя блока в Unicode 1.0 было Специальный.[3]

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

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

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

Рассмотрим текстовый файл, содержащий немецкое слово мех (что означает "для") в 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 символ, который в большинстве случаев представляет собой пустое поле (или "?" в поле[4]), иногда называемый "тофу "(в этом браузере отображается ). Для этого символа нет кода Unicode.

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

Диаграмма Unicode

Специальные[1][2][3]
Таблица кодов официального консорциума Unicode (PDF)
 0123456789АBCDEF
U + FFFx Я
А
Я
S
Я
Т
Примечания
1.^ Начиная с версии Unicode 13.0
2.^ Серые области обозначают неназначенные кодовые точки
3.^ Черные области обозначают несимволы (кодовые точки, которые гарантированно никогда не будут назначены как закодированные символы в стандарте Unicode)

История

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

ВерсияОкончательный код[а]Считатьуниверсальное глобальное время Я БЫL2 Я БЫWG2 Я БЫДокумент
1.0.0U + FFFD1(быть определенным)
U + FFFE..FFFF2(быть определенным)
L2 / 01-295RМур, Лиза (2001-11-06), "Движение 88-М2", Протокол встречи UTC / L2 # 88
L2 / 01-355N2369 (HTML, док )Дэвис, Марк (2001-09-26), Запрос на разрешение FFFF, FFFE в UTF-8 в тексте ISO / IEC 10646
L2 / 02-154N2403Умамахесваран, В. С. (2002-04-22), "9.3 Разрешение FFFF и FFFE в UTF-8", Проект протокола заседания 41 РГ 2, отель Phoenix, Сингапур, 19 октября 2001 г.
2.1U + FFFC1UTC / 1995-056Сарджент, Мюррей (1995-12-06), Рекомендация кодировать символ WCH_EMBEDDING
UTC / 1996-002Алипранд, Жанна; Харт, Эдвин; Гринфилд, Стив (1996-03-05), «Встроенные объекты», UTC # 67 минут
N1365Сарджент, Мюррей (1996-03-18), Сводка предложения - символ замены объекта
N1353Umamaheswaran, V. S .; Ксар, Майк (1996-06-25), "8.14", Проект протокола заседания WG2 Копенгаген №30
L2 / 97-288N1603Умамахесваран, В. С. (1997-10-24), "7.3", Неподтвержденный протокол заседания РГ 2, заседание № 33, Ираклион, Крит, Греция, 20 июня - 4 июля 1997 г.
L2 / 98-004RN1681Текст ISO 10646 - AMD 18 для регистрации PDAM и бюллетеня FPDAM, 1997-12-22
L2 / 98-070Алипранд, Жанна; Винклер, Арнольд, «Дополнительные комментарии к 2.1», Протокол совместной встречи UTC и L2 встречи в Купертино, 25-27 февраля 1998 г.
L2 / 98-318N1894Пересмотренный текст 10646-1 / FPDAM 18, ПОПРАВКА 18: Символы и прочее, 1998-10-22
3.0U + FFF9..FFFB3L2 / 97-255RАлипранд, Джоан (1997-12-03), "Предложение 3.D по встроенной нотации (рубин)", Утвержденный протокол - совместное заседание UTC № 73 и L2 № 170, Пало-Альто, Калифорния - 4-5 августа 1997 г.
L2 / 98-055Фрейтаг, Асмус (22 февраля 1998 г.), Поддержка реализации встроенных и подстрочных аннотаций
L2 / 98-070Алипранд, Жанна; Винклер, Арнольд, «3.C.5. Поддержка реализации встроенных и подстрочных аннотаций», Протокол совместной встречи UTC и L2 встречи в Купертино, 25-27 февраля 1998 г.
L2 / 98-099N1727Фрейтаг, Асмус (1998-03-18), Поддержка внедрения подстрочных аннотаций, используемых в восточноазиатской типографике
L2 / 98-158Алипранд, Жанна; Винклер, Арнольд (1998-05-26), «Встроенные и подстрочные аннотации», Проект протокола - совместное заседание подгруппы L2 # 173 UTC № 76 и NCITS, Тредифрин, Пенсильвания, 20-22 апреля 1998 г.
L2 / 98-286N1703Umamaheswaran, V. S .; Ксар, Майк (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 L2 № 174, Редмонд, Вашингтон, 29-31 июля 1998 г.
L2 / 98-363N1861Сато, Т. К. (1 сентября 1998 г.), Рубиновые маркеры
L2 / 98-372N1884R2 (pdf, док )Уистлер, Кен; и другие. (1998-09-22), Дополнительные символы для ПСК
L2 / 98-416N1882.zipПоддержка реализации подстрочных аннотаций, 1998-09-23
L2 / 98-329N1920Комбинированный бюллетень регистрации и рассмотрения PDAM на WD для ISO / IEC 10646-1 / Amd. 30, ПОПРАВКА 30: Дополнительные латинские и другие символы, 1998-10-28
L2 / 98-421RSuignard, Мишель; Хиура, Хидеки (1998-12-04), Примечания относительно знаков подстрочной аннотации PDAM 30
L2 / 99-010N1903 (pdf, html, док )Умамахесваран, В. С. (1998-12-30), "8.2.15", Протокол заседания РГ 2 № 35, Лондон, Великобритания; 1998-09-21-25
L2 / 98-419 (pdf, док )Алипранд, Джоан (1999-02-05), "Подстрочные символы аннотации", Утвержденный протокол - совместное заседание подгруппы L2 # 175 UTC и NCITS, Сан-Хосе, Калифорния - 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
  1. ^ Предлагаемые кодовые точки и имена символов могут отличаться от окончательных кодовых точек и имен.

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

Рекомендации

  1. ^ «База данных символов Юникода». Стандарт Юникода. Получено 2016-07-09.
  2. ^ «Нумерованные версии стандарта Unicode». Стандарт Юникода. Получено 2016-07-09.
  3. ^ «3.8: Блок-за-блок-схемы» (PDF). Стандарт Юникода. версия 1.0. Консорциум Unicode.
  4. ^ «Рекомендации для шрифтов OpenType (OpenType 1.7) - типографика». docs.microsoft.com. Получено 18 октября 2020.