1.Python3的字符類型
Python3中有兩種表示字符序列的類型:
- str:包含Unicode字符
- bytes:包含原始8位
而Python2也有兩種表示字符序列的類型:
- str:包含原始8位
- unicode:代表Unicode編碼
需要注意的是,Python2和Python3的Unicode和str實例都沒有和特定的二進制編碼相關聯,因此想要把Unicode字符轉換成二進制數據,必須使用encode
方法,而將二進制轉換成Unicode需要使用decode
方法。
Python3的文件讀取方式
Python3中open()
函數含有encoding參數,默認值’utf-8’
- 以二進制寫入(wb)模式打開文件
import os
with open('/ex/test.bin','wb') as f:
f.write(os.urandom(10))
- 讀取文件以rb模式讀取
import os
with open('/ex/test.bin','rb') as f:
f.read()
總結
- Python3中,bytes是一種包含8位的序列,str是一個包含Unicode字符的序列。
- 從文件讀取二進制文件時,或者向其中寫入二進制數據時,必須指定’wb’或者‘rb’模式。