| 
 | 
 
 
发表于 2023-2-23 22:04:57
|
显示全部楼层
 
 
 
 本帖最后由 isdkz 于 2023-2-23 22:08 编辑  
 
 
Unicode 解码错误通常会出现在以下两种情况下: 
 
文件编码和解码方式不匹配:如果文件编码方式和 Python 解码方式不匹配,那么就会出现 Unicode 解码错误。比如,如果文件使用 GBK 编码,而你在 Python 中使用 UTF-8 解码方式打开这个文件,那么就可能会出现解码错误。 
 
文件中包含非法的 Unicode 字符:如果文件中包含了无法被解码为 Unicode 字符的数据,那么就会出现 Unicode 解码错误。比如,如果文件中包含了一些乱码或者二进制数据,那么就可能会触发解码错误。 
 
以下是一个示例,假设有一个文本文件 test.txt,它的编码方式是 GBK: 
 
 
 
如果你在 Python 中使用 UTF-8 解码方式打开这个文件,就会出现 Unicode 解码错误: 
 
 
- with open('test.txt', 'r', encoding='utf-8') as f:
 
 -     content = f.read()
 
  
- # 输出:
 
 - # UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 0: invalid continuation byte
 
  复制代码 
这是因为 UTF-8 解码方式无法正确解码 GBK 编码的数据。如果你想正确读取这个文件,应该使用 GBK 解码方式打开它: 
 
- with open('test.txt', 'r', encoding='gbk') as f:
 
 -     content = f.read()
 
  
- # 输出:
 
 - # 我爱Python!
 
  复制代码 
注意,如果文件中包含非法的 Unicode 字符,那么即使你使用正确的解码方式也可能会出现 Unicode 解码错误。 
 
 
 
 |   
 
 
 
 |