1. 程式人生 > >python 讀不同編碼的文本,傳遞一個可選的encoding 參數給open() 函數

python 讀不同編碼的文本,傳遞一個可選的encoding 參數給open() 函數

系統 fault 使用 取出 可選 asc 完全 pen 調用

文件的讀寫操作默認使用系統編碼,可以通過調用sys.getdefaultencoding() 來得到。在大多數機器上面都是utf-8 編碼。如果你已經知道你要讀寫的文本是其他編碼方式,那麽可以通過傳遞一個可選的encoding 參數給open() 函數。如下所示:
with open(‘somefile.txt‘, ‘rt‘, encoding=‘latin-1‘) as f:
...
Python 支持非常多的文本編碼。幾個常見的編碼是ascii, latin-1, utf-8 和utf-16。在web 應用程序中通常都使用的是UTF-8。ascii 對應從U+0000 到U+007F 範圍內的7 位字符。latin-1 是字節0-255 到U+0000 至U+00FF 範圍內Unicode 字符的直接映射。當讀取一個未知編碼的文本時使用latin-1 編碼永遠不會產生解碼錯誤。使用latin-1 編碼讀取一個文件的時候也許不能產生完全正確的文本解碼數據,但是它也能從中提取出足夠多的有用數據。同時,如果你之後將數據回寫回去,原先的數據還是會保留的。

python 讀不同編碼的文本,傳遞一個可選的encoding 參數給open() 函數