关于python中文件打开的一个小问题

在学习文件操作的时候经常会出现这样的报错,思考再三我决定解决这个问题。
#文件操作
#文件分为文本文件和二进制文件,文件是数据的抽象和集合
#其中文本文件通常是由单一特定编码组成:UTF-8编码;可以看作是一个长字符串。例如txt文件,.py文件。
#而二进制文件是直接由比特0和1组成的,也就是没有统一的字符编码。例如:.png & .avi文件。
#以文本形式打开文件:

file = open("111.txt","rt",encoding="utf-8")#含有中文字符的时候必须加上utf-8
print(file.readline())
file.close()
加上这个后解决第一个图片出现的问题
#以二进制文件形式打开
file = open("111.txt","rb")#不含中文字符的时候不加utf-8
print(file.readline())
file.close()

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Q1:为什么python打开文件必须加上utf-8否则会报错?

Python默认使用ASCII编码来打开文件,如果文件中存在非ASCII字符,如中文等,就会导致读取文件时出现编码错误,从而引发UnicodeDecodeError异常。为了解决这个问题,我们需要在打开文件时指定正确的编码格式。常用的编码格式之一是UTF-8,因此在打开文件时需要加上"utf-8"作为编码格式参数,以便正确地读取文件中的非ASCII字符。

Q2:ASCII字符包括哪些?

ASCII字符集包括128个字符,其中包括数字、字母、标点符号、控制字符和一些特殊字符。其中,数字0-90,小写字母a-z对应的ASCII码值为97-122。标点符号如逗号、句号、感叹号、问号等也都有对应的ASCII码值。此外,ASCII字符集中还包括一些控制字符,如换行符、制表符、回车符等。特殊字符如空格、删除符也属于ASCII字符集。

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值