位元組流和字串
當使用python定義乙個字串時,實際會儲存乙個位元組串:
"abc"--[97][98][99]
python2.x缺省會把所有的字串當做ascii碼來對待,但是當位元組值》127時,預設解析便會出現問題。
x="abc"+chr(150)
repr(x)
#'abc\x96'
u"hello
" +x
#unicodedecodeerror: 'ascii' codec can't decode byte
這就需要我們拿到乙個位元組流後,呼叫它的解碼方式來建立字串(unicode物件)
x="abc\x80\x93
"x=x.decode("
utf-8")
type(x)
'unicode
'>y= "
abc"+char(150)
y=y.decode("
windows-1252")
type(y)
'unicode
'>
print x+y
#abc-abc-
codecs模組
在處理位元組流的時候可以提供很大的幫助。你可以用定義的編碼來開啟檔案並且你從檔案裡讀取的內容會被自動轉化為unicode物件,也可以以指定編碼處理unicode物件然後寫入到檔案。
importcodecs
f=codecs.open('
0.txt
', '
w', '
utf-8')
f.write(u
"\u2013")
f.close()
參考:
python編碼問題記錄2
python3中 此qr資料是utf 8編碼的資料格式,並指定errors的錯誤處理方式errors ignore 在讀,寫資料的時候直接指定編碼格式 with open data path,r encoding utf 8 errors ignore as file content 整個讀入和寫進...
python 位元組編碼 python編碼
參考文章 python編碼 encode 將unicode字元按照編碼規則 如utf 8 編成位元組序列。a u 測試 a.encode utf 8 xe6 xb5 x8b xe8 xaf x95 python解碼 decode 將位元組序列按照編碼規則 如utf 8 解釋成unicode。a b ...
記錄PHP編碼規範
一行說明本檔案的功能 如有必要,請詳細說明本檔案的具體內容和實現,可以多行。category controller service template model middleware package 包名稱 version svn id since v1.0 引入檔案時 deprecated v1....