文件-讀取與編碼檢測
阿新 • • 發佈:2018-04-14
bsp 字節 char 需要 AR 二進制 python3 div res
文件存放在硬盤是以二進制方式存儲,讀取出來需要對其根據字符編碼表進行轉換,python3默認以utf-8編碼。
utf8三個字節一個字符,gbk兩個字節一個字符
文件讀取
以utf-8編碼打開gbk存儲的文件並讀取內容
f=open(file=‘test.txt‘,mode=‘r‘,encoding=‘utf-8‘) data=f.read() f.close() print(data)
file:需打開的文件
mode:打開方式
encoding:打開的編碼格式
以gbk方式打開即可正常讀取
f=open(file=‘test.txt‘,mode=‘r‘,encoding=‘gbk‘) data=f.read() f.close() print(data)
文件編碼檢測
chardet更具編碼規律嘗試檢測文件編碼
import chardet f=open(‘test.txt‘,mode=‘rb‘) data=f.read() f.close() result=chardet.detect(data) print(result)
confidence:編碼可信度
encoding:可能的編碼
根據可能的編碼格式進行解碼(decode)
import chardet f=open(‘test.txt‘,mode=‘rb‘) data=f.read() f.close() result=chardet.detect(data) print(result) #根據chardet檢測出來的編碼格式進行解碼 print(data.decode(‘gb2312‘))
文件-讀取與編碼檢測