2017-02-14 2 views

ответ

3

0xa0 должно быть допустимым неразрывным пространством в UTF-8.

Нет, это не так. Это справедливо для наборов символов Latin1 и Unicode (или UTF-16 и UTF-32).

В кодировке UTF-8 кодируется как C2 A0. Как правило, только символы ниже 0x80 отображаются в один байт в UTF-8.

+0

ах, спасибо. поэтому, если у меня есть 8-байтовый текст с байтом 0xa0, который должен быть пространством, то это, скорее всего, кодировка Latin1? – CoderBrien

+0

Существует несколько кодировок, которые отображают U + 00A0 в 0xA0. Латинский-1 (который, в свою очередь, неоднозначен между ISO и Windows-кодировкой этого имени) является вероятной ставкой, но не уверен. –

+0

@CoderBrien: Скорее всего. Или любые другие старомодные однобайтовые кодировки. –

Смежные вопросы