Interested Article - Заменяющий символ
- 2020-01-17
- 1
Заменяющий символ � — в информатике символ, который используется, когда значение символа неизвестно или не может быть выражено в Юникоде .
Этот символ находится на позиции U+FFFD в группе « Специальные символы ». Он — самый последний символ базовой многоязычной плоскости (следующие позиции U+FFFE и U+FFFF не заняты символами, а используются для сообщения об ошибках) .
Начертание
Этот символ выглядит как чёрный ромб с вырезанным внутри вопросительным знаком . Это напоминает пиктограмму с вопросительным знаком, а он обозначает неизвестность, неопределённость. В шрифте Quivira по краям есть чёрная окантовка, отделённая от ромба. Это ещё больше делает символ похожим на пиктограмму.
Использование
Символ используется при отображении текстов, сконвертированных из других кодировок в Юникод для указания на то, что символ исходного текста не имеет эквивалента в Юникоде . Это может произойти из-за неправильной настройки кодировки символов.
Допустим, у нас есть текстовый файл, который содержит немецкое слово
für
в кодировке ISO 8859-1. Этот текстовый файл был передан по
Интернету
пользователю, у которого кодировка по умолчанию UTF-8.
Первый байт (
0x66
) в пределах 0x00-0x7F, UTF-8 отображает его корректно в виде «f». Второй байт (
0xFC
) — неподходящее значение для начала любого символа в UTF-8, поэтому на месте этого байта браузер отобразит заменяющий символ с целью
предупредить
пользователя о том, что что-то пошло не так. Третий байт (
0x72
) также в пределах 0x00-0x7F, UTF-8 отображает его корректно в виде «r». И целое слово будет отображено как
f�r
.
Текстовый редактор может отобразить заменяющий символ в UTF-8, и при отправке файла обратно, в ISO 8859-1 на месте этого символа получится бессвязное сочетание трёх символов:
f
�
r
. Это произойдёт потому, что UTF-8 заменяющего символа —
0xEF 0xBF 0xBD
. 0xEF — ï, 0xBF — ¿, 0xBD — ½, а вместе — �.
В языке программирования Java позиция U+FFFD традиционно используется для обозначения NaN , что не соотносится со значением в Юникоде .
Примечания
- (англ.) . Дата обращения: 6 января 2013. 27 января 2013 года.
- ↑ Jukka K. Korpela. . — "O'Reilly Media, Inc.", 2006-06-21. — 702 с. — ISBN 978-0-596-10121-3 . 7 июля 2020 года.
Ссылки
- на сайте Scriptsource.org (англ.)
- на Unicode.org (англ.)
Литература
- Лучано Рамальо. . — Litres, 2019-11-01. — 770 с. — ISBN 978-5-04-041745-2 . от 20 июля 2020 на Wayback Machine
- Jukka K. Korpela. . — "O'Reilly Media, Inc.", 2006-06-21. — 702 с. — ISBN 978-0-596-10121-3 . от 20 июля 2020 на Wayback Machine
- Unicode Consortium. . — Addison-Wesley Pub., 1991. — 710 с. — ISBN 978-0-201-56788-5 . от 20 июля 2020 на Wayback Machine
- 2020-01-17
- 1