'gbk' codec can't decode byte 0xff in position 0

发布时间 2024-01-11 15:19:41作者: 中年二班

使用 open() 报错

  File "E:\python3\di1gexiangmu20231219\ex20.py", line 10, in print_all
    print(f.read())
          ^^^^^^^^
UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence

默认情况下,open()命令打开文本内容时,采用的编码方式为gbk或者UTF-8。
而在ShellPower命令行中使用echo创建.txt文件时,编码默认为UTF-16。
故我们在获取文件内容时应保持一致,open()内固定encoding为UTF-16。

print(f.read(), encoding = "UTF-16")