Widechar to Bytes используя шаблон битов? - PullRequest
0 голосов
/ 11 февраля 2011

Если известно число байтов в кодированном UTF-8 широком символе, возможно ли получить байты, используя следующий метод?

Например:

Широкий символ ¿ код 191 в байтах дает -62 и -65

Я пытался вставить 8 бит в 191 в слоты, но не получил тот же результат

110[0][0][0][1][0]   10[1][1][1][1][1][1]

      127                   255

1 Ответ

1 голос
/ 11 февраля 2011

Во-первых, не конвертируйте в подписанные байты. Это просто смущает вопросы. Таким образом, кодовая точка 191 дает последовательность байтов 194 191

Decimal: 194                   191
Binary:  110[0][0][0][1][0]    10[1][1][1][1][1][1]

Чтобы сгенерировать эти байты, вы начинаете с правого края. Вы получаете шесть битов из 191 и еще два из 194 с дополнительными тремя битами, оставляя:

Binary:  00000[0][0][0]    [1][0][1][1][1][1][1][1]
Decimal: 0                 191

Википедия имеет удивительно хорошее описание того, как все это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...