【2020ERRORS】文件处理操作出现的错误-UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence

 

一、文件处理

错误类型:

UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence

1、 t 模式下的 读操作

 

新建txt文件 313.txt ——

hello world
hello day
hello me

@2020

 

>>> f=open(r'D:\0tempt\313.txt',mode='rt')
>>> print(f)
<_io.TextIOWrapper name='D:\\0tempt\\313.txt' mode='rt' encoding='cp936'>
>>> res=f.read()
>>> print(res)
hello world
hello day
hello mili

@2020

>>> 

 

新建txt文件 3133.txt——

你好,世界
你好,每一天
你好,米粒

 

>>> f=open(r'D:\0tempt\3133.txt',mode='rt')
>>> print(f)
<_io.TextIOWrapper name='D:\\0tempt\\3133.txt' mode='rt' encoding='cp936'>
>>> res=f.read()
Traceback (most recent call last):
  File "<pyshell#46>", line 1, in <module>
    res=f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence
>>> 

UnicodeDecodeError: 'gbk' codec can't decode byte 0x8c in position 14: illegal multibyte sequence

解决方法: 指定解码编码格式——encoding='UTF-8'

>>> f=open(r'D:\0tempt\3133.txt',mode='rt',encoding='UTF-8')
>>> print(f)
<_io.TextIOWrapper name='D:\\0tempt\\3133.txt' mode='rt' encoding='UTF-8'>
>>> res=f.read()
>>> print(res)
你好,世界
你好,每一天
你好,米粒

>>> 

 

=====

之前英文和数字的文本内容,读取时没有指定解码编码,没有出错。是因为英文和数字是不会出现乱码现象的,使用任何编码类型解释器都能识别英文和数字。

 

posted @ 2020-03-13 19:15  bigorangecc  阅读(937)  评论(0编辑  收藏  举报