python "UnicodeEncodeError" 編碼錯誤總結

從外部寫入字符串

查看python默認編碼

>>>import sys
>>>sys.getdefaultencoding()#'utf-8'

python3 是默認'utf-8'編碼的

若是是python2版本,不是'utf-8'編碼

可設成'utf-8'編碼

>>>import sys
>>>from imp import reload
>>>reload(sys)
>>>sys.setdefaultencoding('utf-8')#python3沒法運行,只能在python2上運行

將字節串寫入文件

從外部導入字符串時, 須要將其轉換成python易處理的'utf-8'格式
例如:python

>>>string.decode('ascii')

當想將'utf-8'字節串寫入外部, 並以'utf-8'編碼, 而不是windows默認的'gbk'
可直接將'utf-8'的字節串以字節形式寫入文本windows

>>>string = '<span class="title">\xe7\xbe\x8e\xe4\xb8\xbd\xe4\xba\xba\xe7 class="title">&nbsp;/&nbsp;La vita \xc3\xa8</span'
>>>newString = string.encode("utf-8")#將string轉換成「utf-8」的編碼,以字節展現

>>>file = open("test.txt", "wb")#以字節形式寫入文件
>>>file.write(newString)
>>>file.close()
#文檔變成「utf-8」編碼的形式
  • 從外部讀取文本時, 應視爲字節串, 對應的是decode方法,將其解碼成文本編碼

  • 將文本導出時, 對應的是encode方法,將其編碼成字節串spa

相關文章
相關標籤/搜索