- 文本文件存儲的內容是基於 字符編碼 的文件,常見的編碼有
ASCII
編碼,UNICODE
編碼等
Python 2.x 默認使用
ASCII
編碼格式
Python 3.x 默認使用UTF-8
編碼格式
ASCII 編碼和 UNICODE 編碼
ASCII
編碼
- 計算機中只有
256
個ASCII
字符 - 一個
ASCII
在內存中占用 1 個字節 的空間8
個0/1
的排列組合方式一共有256
種,也就是2 ** 8
UTF-8
編碼格式
- 計算機中使用 1~6 個字節 來表示一個
UTF-8
字符,涵蓋了 地球上幾乎所有地區的文字 - 大多數漢字會使用 3 個字節 表示
UTF-8
是UNICODE
編碼的一種編碼格式
Ptyhon 2.x 中如何使用中文
Python 2.x 默認使用
ASCII
編碼格式
Python 3.x 默認使用UTF-8
編碼格式
- 在 Python 2.x 文件的 第一行 增加以下代碼,解釋器會以
utf-8
編碼來處理 python 文件
# *-* coding:utf8 *-*
這方式是官方推薦使用的!
- 也可以使用
# coding=utf8
unicode 字符串
- 在
Python 2.x
中,即使指定了文件使用UTF-8
的編碼格式,但是在遍歷字符串時,仍然會 以字節為單位遍歷 字符串 - 要能夠 正確的遍歷字符串,在定義字符串時,需要 在字符串的引號前,增加一個小寫字母
u
,告訴解釋器這是一個unicode
字符串(使用UTF-8
編碼格式的字符串)
# *-* coding:utf8 *-* # 在字符串前,增加一個 `u` 表示這個字符串是一個 utf8 字符串 hello_str = u"你好世界" print(hello_str) for c in hello_str: print(c)