Python Windows下文件乱码问题

Python Windows下文件乱码问题

在练习python文件处理的时候,发现自己使用UTF-8格式保存的中文内容打开后会出现一堆乱码。大致情况如下:
在这里插入图片描述
使用UTF-8保存后,使用文件读取,默认会出现乱码或者无法打开的情况,譬如:

  1. 无法打开文件

Python Windows下文件乱码问题_第1张图片

  1. 文件乱码情况

Python Windows下文件乱码问题_第2张图片

原因分析

当我们没有指定encoding参数下,操作系统会使用自己默认的编码

  • Linux默认使用UTF-8编码
  • Windows默认使用GBK编码

当我们没有指定Python的编码时候,会默认使用操作系统自带的编码,如果在Windows下,我们使用的是UTF-8编码,却用GBK解码,自然而然就会出现无法打开的情况。

解决方法

指定Python文件打开的解码方式为utf-8,即可解决问题

# 打开文件
with open(r'a.txt',mode="r",encoding="utf-8") as f:
# 指定编码格式为UTF-8,解决乱码问题
    res = f.read()
# 把内存的utf-8的二进制使用unicode模式读入。
    print(res,type(res))
# 其中f为文件句柄,Python文件管理会自动执行
# rt的意思是:只读模式,内容都是unicode模式的

你可能感兴趣的:(日常问题,python,学习,开发语言)