Заменяющий символ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
� | ||||||||||||
|
||||||||||||
Характеристики | ||||||||||||
Название | replacement character | |||||||||||
Юникод | U+FFFD | |||||||||||
HTML-код |
� или � |
|||||||||||
UTF-16 | 0xFFFD | |||||||||||
URL-код | %EF%BF%BD |
Заменяющий символ � — в информатике символ, который используется, когда значение символа неизвестно или не может быть выражено в Юникоде.
Этот символ находится на позиции U+FFFD[1] в группе «Специальные символы». Он — самый последний символ базовой многоязычной плоскости (следующие позиции U+FFFE и U+FFFF не заняты символами, а используются для сообщения об ошибках)[2].
Этот символ выглядит как чёрный ромб с вырезанным внутри вопросительным знаком. Это напоминает пиктограмму с вопросительным знаком, а он обозначает неизвестность, неопределённость. В шрифте Quivira по краям есть чёрная окантовка, отделённая от ромба. Это ещё больше делает символ похожим на пиктограмму.
Символ используется при отображении текстов, сконвертированных из других кодировок в Юникод для указания на то, что символ исходного текста не имеет эквивалента в Юникоде[2]. Это может произойти из-за неправильной настройки кодировки символов.
Допустим, у нас есть текстовый файл, который содержит немецкое слово 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, что не соотносится со значением в Юникоде[2].
Статья Заменяющий символ в русской Википедии заняла в местном рейтинге популярности следующие места:
Представленный контент статьи из Википедии был извлечен 2021-06-13 на основе https://ru.wikipedia.org/?curid=4315246