Ramon 中文解码

在Windows XP/10中使用wxPython开发Ramon时,可以使用str的decode()/encode()方法在ASCII/GBK/UTF-8/UTF-16之间转换。我今天采用了以下的代码才转换出合适的中文显示。

msg = msg.decode('gbk').encode('gbk')

wxPython UI将用户输入的信息转换为bytes,切割后,再拼合,然后将拼合后的bytes转换为用户可显示的文字。

由于Windows缺省采用GBK,而Python2.7缺省采用ASCII,所以从UI获得是GBK编码,但是切割、拼合后的bytes也是GBK编码,所以首先需要先decode('GBK'),但是decode之后其实是unicode,然后再编码encode('GBK')才能够显示。

不过,我觉得应该使用UTF-8或unicode传输比较有效。

你可能感兴趣的:(Ramon 中文解码)