手把手教你:解决python UnicodeDecodeError: 'gb2312' codec can't decode问题

问题:UnicodeDecodeError: ‘gb2312‘ codec can‘t decode bytes in position 2-3: illegal multibyte sequence

原因:python在做将普通字符串转换为unicode对象时,

例如:u_string = unicode(string , "gb2312"),如果你的字符串string中有诸如某些繁体字,例如"河滘小学"

中的滘,那么gb2312作为简体中文编码是不能进行解析的,必须使用国标扩展码gbk,gbk支持繁体中文和日文假文

解决方法:使用gbk,代替gb2312,例如:u_string =
unicode(string , "gbk")

手把手教你:解决python UnicodeDecodeError: 'gb2312' codec can't decode问题

时间: 2024-11-07 19:02:01

手把手教你:解决python UnicodeDecodeError: 'gb2312' codec can't decode问题的相关文章

【Python】【解决】UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(128)

我是转的 http://www.cnblogs.com/QuLory/p/3615584.html 刚用flask写了个小小的程序 程序能跑起来 可是就是访问网页的时候却报标题的错误 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(128) Unicode的编码问题,读取文件时使用的编码默认是ascii而不是utf8,所以报错 在代码中加上几句即可: impo

python UnicodeDecodeError: 'ascii' codec can't decode byte ...

在运行scrapy爬虫程序的时候出现UnicodeDecodeError 贴上错误 原因与注册表有关,可能与某些国产软件对注册表的改写的gbk格式导致python无法进行第三方库的安装操作. 解决方法:打开C:\Python27\Lib下的 mimetypes.py 文件,找到大概256行(你可以用Notepad++的搜索功能)的 'default_encoding = sys.getdefaultencoding()'. 在这句代码前加上 if sys.getdefaultencoding()

Python UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: ordinal not in range

报错文件如上,下面修改的为该文件! 运行时报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: ordinal not in range(128) Python2.7在Windows上一个bug!!! 解决方法: 参考官方patch:http://bugs.python.org/file19332/9291a.patch 如下代码:一,加入from itertools import count: 二

解决Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte...

用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 1 if __name__ == '__main__': 2 fileHandler = open('../report.html', mode='r') 3 4 report_lines = fileHandler.readlines() 5 for line in report_lines: 6 print(line.rstrip()) 修改方式是在open方法指定参数encoding='UTF-8': if __nam

centos7 python 中文 “UnicodeDecodeError: 'ascii' codec can't decode byte...”解决方法

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128) 1. 开始以为是自己写的python有问题,但后来发现同样的代码在其它电脑上运行正常... 2. 按网上说的方法什么load(sys),或者加# -*- coding: utf-8 -*-的方式,虽说都知道是python2年代的东西.但就当病急乱投医了.结果依旧无效. 3. 怀疑CentOS7 的LAN

Python报错UnicodeDecodeError: ascii codec can t decode byte 0xe0 ...解决方法

用命令(python setup.py install)安装webpy时候总是报错 在网上搜索到的解决方法如下: 1. 这是Python 2 mimetypes的bug 2. 需要将Python2.7/lib/mimetypes.py文件中如下片段注释或删除: try:    ctype = ctype.encode(default_encoding) # omit in 3.x!except UnicodeEncodeError:    pass 补充其它解决办法 解决办法: 在报错的页面添加

【Error】Python:UnicodeDecodeError: ‘XXX' codec can't decode bytes in position... 解决方法

错误信息: UnicodeDecodeError: 'XXX' codec can't decode bytes in position 2-5: illegal multibyte sequence 这是因为遇到了非法字符,因此在转码的过程中出现了异常.具体哪些字符是非法字符我也搞不清. [解决办法] #将获取的字符串strTxt做decode时,指明ignore,会忽略非法字符,这样就可以了 inStr2 = inStr.decode('utf-8', 'ignore') [补充] 默认的参

运行python代码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 91: ordinal not in range(128)的解决办法

1.通过搜集网上的资料,自己多次尝试,问题算是解决了,在代码中加上如下几句即可: import sys reload(sys) sys.setdefaultencoding('utf-8') 2.原因就是Python的str默认是ascii编码,和unicode编码冲突,混淆了python2 里边的 str 和 unicode 数据类型. 3.python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii. 运行python代码报错UnicodeDec

解决 python 中读写文件的终极方案 UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illega

UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illegal multibyte sequence 上面是遇到的错误,本来想完成读文件,再写入另一文件的.但是在 fp.read() 时,一直遇到上面的错误,经过各种百度,google, 还有神奇的 stackoverflow 才知道是字符流的问题. 知道问题所在,还是没有解决,又苦苦搜索,终于在 stackoverflow 上找到灵感,可以把 op