UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 3: invalid start byte
1.问题描述:
需要用到中文预料,所以下载了一篇txt文件小说,但是读取的时候就出现如标题所示的错误。
2.问题分析:
通过查找可以知道这是字符编码的问题。网上找到的方法都是说读取该文件时使用“gbk”格式的编码就行。但是,不使用“utf-8”编码格式我总觉的会有问题。
2.1 UTF-8和GBK:
- GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)。GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。
- UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8 节省空间。另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持。访问UTF-8编码的网页则不出现这问题。可以直接访问。
- GBK包含全部中文字符;
2.2 UFT-8和GBK如何选择:
- 如果你主要做中文程序的开发,客户也主要是中国人的话就用GBK吧,因为UTF-8编码的中文使用了三个字节,用GBK节省了空间。
- 如果做英文网站开发,还是用utf-8吧,因为utf-8中英文只占一个字节。GBK中英文也是两个字节的,并且国外客户访问GBK要下载语言包。如果你的网站是中文的,但国外用户也不少,最好也用UTF-8的吧。
3.解决问题:
3.1 选择GBK
读取的时候选择使用该格式的编码就行了,网上绝大部分都是采用这个方法。就不详讲了。
3.2 选择使用UTF-8
只需要把该文件的格式转成UTF-8就行。我使用的方法如下:
使用notepad打开需要转码的文件(txt文件本身也支持转码,另存为然后选择utf-8就可以了,如何txt文件内容过大,打开需要很久可以使用我这个方法。notepad打开360万多行的文件都蛮快的!!!),如下图:
然后点击上图红色箭头所示的,注意保存!最后再次点开编码栏,就会出现如下图所示。再去运行程序就没有错误了!!!
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 3: invalid start byte相关推荐
- UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xc0 in position 0: invalid start byte报错解决
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte报错解决 这个错误一 ...
- Zenmap 报'utf8' codec can't decode byte 0xc0 in position 0: invalid start byte错误部分解决方案
错误样式:'utf8' codec can't decode byte 0xc0 in position 0: invalid start byte,如下图: 错误原因:报这个错误提示的意思我理解的是 ...
- Nmap中扫描时出现“utf8' codec can't decode byte 0xc0 in position 0: invalid start byte”错误的解决方案
关于Nmap中扫描时出现"utf8' codec can't decode byte 0xc0 in position 0: invalid start byte"错误的解决方案 ...
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte
Anaconda 的Spyder中遇到的错误: 这是因为默认的是utf-8编码格式 中文字符的Unicode编码0x0800-0xFFFF之间,(utf-8包含了部分汉字) 当你试图将该"中 ...
- UnicodeDecodeError: 'utf8' codec can't decode byte 0xb1 in position 0: invalid start byte
在Python处理字符编码时出现如下错误: UnicodeDecodeError: 'utf8' codec can't decode byte 0xb1 in position 0: invalid ...
- 解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte问题
此文首发于我的个人博客:解决UnicodeDecodeError 'utf-8' codec can't decode byte 0xff in position 0 invalid start by ...
- UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb0 in position 0: invalid start byte
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte
- UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x8b in position 1: invalid start byte
当我们使用urllib库打印爬取的网页信息print(res.read().decode('utf-8'))出现: UnicodeDecodeError: 'utf-8' codec can't de ...
- 成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9a in position 0: invalid start byte
成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9a in position 0: invalid start byte 目录 解决 ...
最新文章
- 用一份PPT开始你的Hyper-v虚拟化之旅
- apache的prefork和workder模式
- python function terminated_calibre 打不开也转不了 并且出现错误 mobi转docx
- 在matlab中使用spm8,在matlab中同时使用spm2,spm5,spm8
- python双线性插值函数_双线性插值法原理 python实现
- Linux开机启动过程(7):内核执行入口点
- vue的table组件
- 震惊!Redis 的字符串居然是这样实现的…
- linux 下xhprof的安装和使用
- Yahoo 股票数据抓取
- Latex错误:xxx PDF objects out of 1000 (max. 8388607) ……
- java和eova的关系_Eova 1.2 正式版,Java Web 快速开发平台
- Unity 5.4 公开测试版发布:增强的视觉效果,更佳的性能表现
- Excel中数据截取
- 如何用Python写一个安卓APP
- 软件获取imei和imsi_android平台获取手机IMSI、IMEI 、序列号和手机号的方法
- App内购项目的App Store推广
- 2020年9月23日 晴(补2020年9月22日 晴)
- 【git 整理提交】git rebase -i 命令详解
- png 微软ppt 透明度,教你一招永久搞定PPT导出高清图片的小技巧