【python问题解决】UnicodeDecodeError :’gb2312′ codec can’t decode bytes:illegal multibyte sequence

错误提示:UnicodeDecodeError :’gb2312′ codec can’t decode bytes in position 2-3:illegal multibyte sequence

意思是:将一个字符串,通过gb2312的方式,去解码,想要获得Unicode字符串,结果出错了

 

解决方法:处理的字符的确是gb2312,但是其中夹杂的部分特殊字符,是gb2312编码中所没有的。

如果有些特殊字符是GB18030中有的,但是是gb2312中没有的,则用gb2312去解码,也比较会出错。 所以,此种情况,可以尝试用和当前编码(gb2312)兼容的但所包含字符更多的编码(gb18030)去解码,或许就可以了。

GB2312,GBK,GB18030,是兼容的,包含的字符个数:GB2312 < GBK < GB18030
————————————————
版权声明:本文为CSDN博主「Fifth quadrant」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Junkichan/article/details/51913845

 

u’囧’.encode(‘gb2312’) throws UnicodeEncodeError

也可以参考这个,看一下

国标码是汉字的国家标准编码,目前主要有GB2312、GBK、GB18030三种。

  1. GB2312编码方案于1980年发布,收录汉字6763个,采用双字节编码。
  2. GBK编码方案于1995年发布,收录汉字21003个,采用双字节编码。
  3. GB18030编码方案于2000年发布第一版,收录汉字27533个;2005年发布第二版,收录汉字70000余个,以及多种少数民族文字。GB18030采用单字节、双字节、四字节分段编码。

新版向下兼容旧版,也就是说GBK是在GB2312已有码位基础上增加新码位,GB18030是在GBK已有码位基础上增加新码位,各种编码方案中共有的字符编码相同。现在的中文信息处理应优先采用GB18030编码方案。

在本页中,你可以输入汉字查询对应的国标码,也可以输入国标码查询对应的汉字。三种编码方案分别给出结果,以便于核对查询的字符是否收录在该编码方案中,例如:“〇”字GB2312未收录,“𠀚”字GB2312和GBK未收录。

 

 

 

原文地址:http://www.cnblogs.com/chucklu/p/16906161.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性