UnicodeDecodeError: ‘gbk' codec can't decode bytes in position : illegal multibyte sequence

错误信息:

UnicodeDecodeError: ‘gbk' codec can't decode bytes in position : illegal multibyte sequence

这是因为遇到了非法字符,因此在转码的过程中出现了异常。具体哪些字符是非法字符我也搞不清。

[解决办法]

将获取的字符串strTxt做decode时,指明ignore,会忽略非法字符,这样就可以了

inStr2 = inStr.decode('utf-8', 'ignore')

[补充]

默认的参数就是strict,代表遇到非法字符时抛出异常;
如果设置为ignore,则会忽略非法字符;
如果设置为replace,则会用?号取代非法字符;
如果设置为xmlcharrefreplace,则使用XML的字符引用。

原文地址:https://www.cnblogs.com/hanfe1/p/13297905.html