Python中的編碼

2021-08-31 11:41:34 字數 1139 閱讀 3257

encode()方法 把字串變成用於儲存或傳輸的位元組序列就是編碼

decode()方法 把位元組序列變**類可讀的文字字串就是解碼

示例 4-1 編碼

如果想幫助自己記住 .decode() 和 .encode() 的區別,可以把位元組序列想成晦澀難懂的機器磁芯轉儲,把 unicode 字串想成「人類可讀」的文字。那麼,把位元組序列變**類可讀的文字字串就是解碼,而把字串變成用於儲存或傳輸的位元組序列就是編碼

4.5 處理文字檔案

處理文字的最佳實踐是「unicode 三明治」(如圖 4-2 所示)。 意思是,

要盡早把輸入(例如讀取檔案時)的位元組序列解碼成字串。這種三明

治中的「肉片」是程式的業務邏輯,在這裡只能處理字串物件。在其他

處理過程中,一定不能編碼或解碼。對輸出來說,則要盡量晚地把字元

串編碼成位元組序列。多數 web 框架都是這樣做的,使用框架時很少接

觸位元組序列。例如,在 django 中,檢視應該輸出 unicode 字串;

django 會負責把響應編碼成位元組序列,而且預設使用 utf-8 編碼

unicode 三明治——目前處理文字的最佳實踐

在 python 3 中能輕鬆地採納 unicode 三明治的建議,因為內建的 open

函式會在讀取檔案時做必要的解碼,以文字模式寫入檔案時還會做必要

的編碼,所以呼叫 my_file.read() 方法得到的以及傳給

my_file.write(text) 方法的都是字串物件。

python 2.6 或 python 2.7 使用者要使用 io.open() 函式才能得到讀寫檔案時自動執行的解碼和編

碼操作。

來看下面的一段**

Python中的編碼

原文 http users.ir lab.org liulong blog archives 001962.html 計算機以0,1二進位制位來儲存資訊,所以字元在計算機中的表示也是二進位制位,那每個字元所對應的二進位制位是什麼,在開始的計算機中因為只考慮英語,所以不超過256個字元,即用乙個位元組...

Python 中的字元編碼

1 str型別可以理解為乙個二進位制block,或multibyte 2 multibyte str.decode unicode 3 unicode str.encode multibyte str binary block 4 unicode str 的操作引數也應為unicode,如 unic...

python中的編碼處理

usr bin env python coding cp936 import codecs import sys if name main if len sys.argv 5 print python s infile decodetype outfile encodetype sys.argv 0...