小编jsn*_*ack的帖子

如何将字符串从CP-1251转换为UTF-8?

我正在使用mutagen将ID3标签数据从CP-1251/CP-1252转换为UTF-8.在Linux中没有问题.但在Windows上,调用SetValue()wx.TextCtrl会产生错误:

UnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xc3:序数不在范围内(128)

我从mutagen中提取的原始字符串(假设为CP-1251编码)是:

u'\xc1\xe5\xeb\xe0\xff \xff\xe1\xeb\xfb\xed\xff \xe3\xf0\xee\xec\xf3'
Run Code Online (Sandbox Code Playgroud)

我尝试将其转换为UTF-8:

dd = d.decode('utf-8')
Run Code Online (Sandbox Code Playgroud)

...甚至将默认编码从ASCII更改为UTF-8:

sys.setdefaultencoding('utf-8')
Run Code Online (Sandbox Code Playgroud)

......但是我得到了同样的错误.

python wxpython utf-8 cp1251

23
推荐指数
2
解决办法
4万
查看次数

标签 统计

cp1251 ×1

python ×1

utf-8 ×1

wxpython ×1