文本文件存储的内容是基于字符编码的文件,常见的编码有ASCII、UNICODE等
ASCII编码可以说是最古老的编码了,是因为计算机最早是美国人发明的,美国人为了在计算机中使用自己的英语就制定了ASCII编码。
ASCCI编码只有256个字符,虽然可以涵盖26个英文,但是汉子有数以万计的字符,ASCII编码并不能满足我们,因此UNICODE编码诞生。
UTF-8编码格式:
1、在python2.x文件的第一行增加以下代码,解释器会以UTF-8编码来处理Python文件
# *-* coding:utf8 *-*
提示:这种方式是官方推荐使用过的。
2、也可这样,=号两边不要空格
# coding=utf8
问题:
在python2.x中,即使指定了文件使用UTF-8的编码格式,但是在遍历字符串时,仍然会以字节为单位遍历字符串
答:
要能够正确的遍历字符串,在定义字符串时,需要在字符串的引导前增加一个小写字母u,告诉解释器这事一个unicode字符串(是使用UTF-8编码更是的字符串)
代码:这段代码在python2.x中汉子会出现很多符号
str = Python自学网for a in str:print(a)代码优化:加u# 引号前面的u告诉解释器这事一个utf-8编码格式的字符串str = uPython自学网for a in str:print(a)
Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
python3查看默认编码:
模块:python3 sys.getdefaultencoding().py
作用:获取系统默认编码方式
代码:
import sysprint(sys.getdefaultencoding())
结果:utf-8
万一Python3.x中不能读取文件里面的中文怎么办?
解决:编写encoding=”UTF-8”
例如:
file = open(HELLO, encoding=UTF-8)
分享网站:《Python自学网》https://www.wakey.com.cn/
适合新手入门到精通 | python全栈体系课程
本文由梁桂钊于2022-10-24发表在梁桂钊的博客,如有疑问,请联系我们。
本文链接:https://720ui.com/3189.html