Loading

Python Windows下文件乱码问题

Python Windows下文件乱码问题

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

  1. 无法打开文件

乱码

  1. 文件乱码情况

在这里插入图片描述

原因分析

当我们没有指定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模式的
posted @ 2023-01-30 20:58  nliuc  阅读(270)  评论(0编辑  收藏  举报