我真的不善于使用wxWidgets ..如果有人能帮助我解决我的问题,我将不胜感激。
我唯一要做的就是将.html文件(wxString)编码为十六进制(我不确定它的十六进制:它看起来像:0x3e,0x56,0x4b,0xcf,0x04,0x50,0x4a ,0x11)
解码它我用过
data = wxString((const char*)html_stuff, wxCSConv(wxFONTENCODING_UTF8), sizeof (html_stuff));
我觉得自己有点愚蠢..
谢谢!
答案 0 :(得分:1)
您发布的代码是从UTF8转换为unicode
http://docs.wxwidgets.org/2.9.2/classwx_string.html#86a2ec232912c97ed44ba34651d98123
UTF8使用1到3个字节来编码每个字符 - 它用于以HTML格式发送文档,以便浏览器可以显示它们。 Unicode使用2个字节来编码每个字符 - 它由wxString使用。
我的猜测是你要做的是将unicode wxString转换为UTF8。有很多不同的方法可以做到这一点。 “最好”的方式取决于几件事。最简单的方法是使用wxString :: mb_str()http://docs.wxwidgets.org/2.8.9/wx_wxstring.html#wxstringmbstr
我建议你学习一些关于字符编码的知识。 Here is a link to my take on it.