wxWidgets: кодирование wxString с использованием wxCSConv wxMBConv - PullRequest
0 голосов
/ 25 октября 2011

Я не очень хорош в использовании wxWidgets .. Буду признателен, если кто-нибудь поможет мне решить мою проблему.

единственное, что я хочу сделать - это закодировать файл .html (wxString) в шестнадцатеричный формат (я не уверен, что его шестнадцатеричный код: он выглядит так: 0x3e, 0x56, 0x4b, 0xcf, 0x04, 0x50, 0x4a , 0x11)

для декодирования я использовал

data = wxString((const char*)html_stuff, wxCSConv(wxFONTENCODING_UTF8), sizeof (html_stuff));

Я чувствую себя немного глупо ..

Спасибо!

1 Ответ

1 голос
/ 25 октября 2011

Код, который вы разместили, конвертирует из UTF8 в Unicode

http://docs.wxwidgets.org/2.9.2/classwx_string.html#86a2ec232912c97ed44ba34651d98123

UTF8 использует от 1 до 3 байтов для кодирования каждого символа - он используется для отправки документов в HTML, чтобы браузеры моглипоказать их.Юникод использует 2 байта для кодирования каждого символа - он используется wxString.

Я предполагаю, что вам нужно преобразовать юникод wxString в UTF8.Есть много разных способов сделать это.«Лучший» способ зависит от нескольких вещей.Простейшим было бы использовать wxString :: mb_str () http://docs.wxwidgets.org/2.8.9/wx_wxstring.html#wxstringmbstr

Я рекомендую вам кое-что узнать о кодировке символов. Вот ссылка на мою версию.

...