您的位置:首页 > 编程语言 > Python开发

Python 编码问题

2016-02-14 22:11 507 查看
对于此(类)问题:

(1) 出现 UnicodeEncodeError –> 说明是Unicode编码时候的问题;

(2) ‘gbk’ codec can’t encode character –> 说明是将 Unicode 字符编码为 GBK 时候出现的问题;

此时,往往最大的可能就是,本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符。

解决办法是:

方案1:

在对unicode字符编码时,添加ignore参数,忽略无法无法编码的字符,这样就可以正常编码为GBK了。

gbkTypeStr = unicodeTypeStr.encode('GBK', 'ignore');


方案2:

将其转换为GBK编码的超集GB18030 (即,GBK是GB18030的子集):

gb18030TypeStr = unicodeTypeStr.encode('GB18030');


对应的得到的字符是GB18030的编码。

References

[1] 【已解决】UnicodeEncodeError: ‘gbk’ codec can’t encode character u’\u200e’ in position 43: illegal multibyte sequence

[2] 【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: