【python问题解决】UnicodeDecodeError :'gb2312' codec can't decode bytes:illegal multibyte sequence
【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三种。
- GB2312编码方案于1980年发布,收录汉字6763个,采用双字节编码。
- GBK编码方案于1995年发布,收录汉字21003个,采用双字节编码。
- GB18030编码方案于2000年发布第一版,收录汉字27533个;2005年发布第二版,收录汉字70000余个,以及多种少数民族文字。GB18030采用单字节、双字节、四字节分段编码。
新版向下兼容旧版,也就是说GBK是在GB2312已有码位基础上增加新码位,GB18030是在GBK已有码位基础上增加新码位,各种编码方案中共有的字符编码相同。现在的中文信息处理应优先采用GB18030编码方案。
在本页中,你可以输入汉字查询对应的国标码,也可以输入国标码查询对应的汉字。三种编码方案分别给出结果,以便于核对查询的字符是否收录在该编码方案中,例如:“〇”字GB2312未收录,“𠀚”字GB2312和GBK未收录。
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2021-11-19 2021年上海市成人高校招生最低录取控制分数线
2020-11-19 Install and manage packages in Visual Studio using the NuGet Package Manager
2020-11-19 How to check the version of an assembly (dll)?
2020-11-19 RSACryptoServiceProvider.FromXmlString
2014-11-19 炉石相关的开源