utf8 и кодировка - PullRequest
       11

utf8 и кодировка

0 голосов
/ 19 апреля 2010

У меня есть укус в юникоде "hao123-- 我 的 上网 主页", в то время как в utf8 в C ++ строка "hao123 锛 嶏 紞 鎴 戠 殑 涓 婄 綉 涓 婚〉", но я должен написать это в Файл в этом формате "hao123", как я могу это сделать. Я мало знаю об этой кодировке. Кто-нибудь может помочь? спасибо!

1 Ответ

2 голосов
/ 19 апреля 2010

Вы, кажется, перепутали UTF-8 и UTF-16 (или, возможно, UCS-2). Символы в кодировке UTF-8 имеют переменную длину от 1 до 4 байтов. В противоположность этому, вы, кажется, хотите записать UTF-16 или UCS-2 в свои файлы (я предполагаю, что это из \uxxxx ссылок на символы в выходной строке вашего файла).

Для обзора этих наборов символов посмотрите статью Википедии о UTF-8 и просмотрите оттуда.

Вот некоторые из самых основных (сильно упрощенных) основ:

  • UCS-2 сохраняет все символы как ровно 16 бит. Поэтому он не может кодировать все символы Юникода, только так называемую «Базовую многоязычную плоскость».

  • UTF-16 хранит наиболее часто используемые символы в 16 битах, но некоторые символы должны быть закодированы в 32 битах.

  • UTF-8 кодирует символы переменной длины от 1 до 4 байтов. Только символы из оригинальной 7-битной кодировки ASCII кодируются как 1 байт.

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