01. 文本文件的编码格式(科普) 文本文件存储的内容是基于字符编码的文件,常见的编码有ASCII 编码,UNICODE 编码等 Python 2.x 默认使用 ASCII 编码格式
01. 文本文件的编码格式(科普)
- 文本文件存储的内容是基于字符编码的文件,常见的编码有ASCII 编码,UNICODE 编码等
Python 2.x 默认使用 ASCII 编码格式
Python 3.x 默认使用 UTF-8 编码格式
1.1 ASCII 编码和 UNICODE 编码
ASCII 编码
- 计算机中只有256 个ASCII 字符
- 一个ASCII 在内存中占用1 个字节的空间
- 8 个0/1 的排列组合方式一共有256 种,也就是2 ** 8
UTF-8 编码格式
- 计算机中使用1~6 个字节来表示一个UTF-8 字符,涵盖了地球上几乎所有地区的文字
- 大多数汉字会使用3 个字节表示
- UTF-8 是UNICODE 编码的一种编码格式
1.2 Ptyhon 2.x 中如何使用中文
Python 2.x 默认使用 ASCII 编码格式
Python 3.x 默认使用 UTF-8 编码格式
- 在 Python 2.x 文件的第一行增加以下代码,解释器会以utf-8 编码来处理 python 文件
这方式是官方推荐使用的!
- 也可以使用
unicode 字符串
- 在Python 2.x 中,即使指定了文件使用UTF-8 的编码格式,但是在遍历字符串时,仍然会以字节为单位遍历字符串
- 要能够正确的遍历字符串,在定义字符串时,需要在字符串的引号前,增加一个小写字母u,告诉解释器这是一个unicode 字符串(使用UTF-8 编码格式的字符串)
# 在字符串前,增加一个 `u` 表示这个字符串是一个 utf8 字符串
hello_str = u"hello朋友"
print(hello_str)
for c in hello_str:
print(c)