13272610508 发表于 2020-6-10 16:11:27

txt内容为中文字符报错

程序:
f = open('1.txt')
f.read()

提示的错误:
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/1.py", line 2, in <module>
    f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0x8b in position 8: incomplete multibyte sequence

1.txt   文件内容是中文,如果内容改成英文,就可以正确识别。


我的疑惑:为什么文件内容为中文就报错,英文就可以呢

Twilight6 发表于 2020-6-10 16:11:28

本帖最后由 Twilight6 于 2020-6-10 16:13 编辑


open 里面加个参数 encoding='utf-8' 试试看 f = open('1.txt',encoding='utf-8')
f.read()

如果不行的,打开记事本把他另存为 utf-8的编码格式
第一步:
https://xxx.ilovefishc.com/forum/202005/25/072650zqq1fqqmng421bqz.jpg
第二步:
https://xxx.ilovefishc.com/forum/202005/25/072647nvzjv2zemvgxet5g.jpg

13272610508 发表于 2020-6-10 16:12:42

Twilight6 发表于 2020-6-10 16:12
open 里面加个参数 encoding='utf-8'

这是什么原理呢,可以解释一下吗

Twilight6 发表于 2020-6-10 16:15:27

13272610508 发表于 2020-6-10 16:12
这是什么原理呢,可以解释一下吗

不同编码 编码汉字的字节大部分都不相同,比如如果写入时候为 2 个字节 那么读取必须也要 2个字节

Twilight6 发表于 2020-6-10 16:16:07

13272610508 发表于 2020-6-10 16:12
这是什么原理呢,可以解释一下吗

哈哈 还有你直接发求助帖 , 你发悬赏 1个鱼币比求助帖得到的还少哈哈哈哈哈{:10_297:}

13272610508 发表于 2020-6-10 16:18:09

厉害了,这次就可以了
页: [1]
查看完整版本: txt内容为中文字符报错