參考
這一篇總結的標題之所以是「ghost」鬼魂,是因為這個問題就像「ghost」一樣,隨時會出現在我的**,我的程式中,時不時會冒出來,然後需要解決。
unicodedecodeerror: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
unicodedecodeerror: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence"
首先編碼有很多種例如:
雖然每個國家都有自己的編碼,但是這種編碼會有侷限性!!!!就是無法對應其他國家的字元。
unicode編碼出現,unicode 2-4位元組 已經收錄136690個字元,並還在一直不斷擴張中...
unicode 起到了2個作用:
雖然unicode解決了字元和二進位制的對應關係,但是使用unicode表示乙個字元,太浪費空間!!!!例如:利用unicode表示「python」需要12個位元組才能表示,比原來ascii表示增加了1倍。
為了解決儲存和網路傳輸的問題,出現了unicode transformation format,學術名utf,即:對unicode中的進行轉換,以便於在儲存和網路傳輸時可以節省空間!
utf-8: 使用1、2、3、4個位元組表示所有字元;優先使用1個字元、無法滿足則使增加乙個位元組,最多4個位元組。英文佔1個位元組、歐洲語系佔2個、東亞佔3個,其它及特殊字元佔4個
utf-16: 使用2、4個位元組表示所有字元;優先使用2個位元組,否則使用4個位元組表示。
utf-32: 使用4個位元組表示所有字元;
總結:utf 是為unicode編碼 設計 的一種 在儲存 和傳輸時節省空間的編碼方案。
字元在硬碟上的儲存
無論以什麼編碼在記憶體裡顯示字元,存到硬碟上都是2進製。
ascii編碼(美國):
l 0b1101100
o 0b1101111
v 0b1110110
e 0b1100101
gbk編碼(中國):
老 0b11000000 0b11001111
男 0b11000100 0b11010000
孩 0b10111010 0b10100010
shift_jis編碼(日本):
私 0b10001110 0b10000100
は 0b10000010 0b11001101
ks_c_5601-1987編碼(南韓):
나 0b10110011 0b10101010
는 0b10110100 0b11000010
tis-620編碼(泰國):
ฉัน 0b10101001 0b11010001 0b10111001
要注意的是,存到硬碟上時是以何種編碼存的,再從硬碟上讀出來時,就必須以何種編碼讀
編碼的轉換
請問:中國的電腦上有乙個檔案用的gbk 編碼,而不是utf-8,要放在歪果仁的電腦上(沒有gbk編碼)怎麼辦?
兩個對策:
unicode其中乙個功能是其包含了跟全球所有國家編碼的對映關係,意思就是,你寫的是gbk的「路飛學城」,但是unicode能自動知道它在unicode中的「路飛學城」的編碼是什麼
python3的執行過程
python3 執行**的過程
utf-8 --> decode 解碼 --> unicode
unicode --> encode 編碼 --> gbk / utf-8
#在python2中
#_*_coding:utf-8_*_
s = '路飛學城'
print s
s2 = s.decode('utf-8')
print s2
print type(s2)
輸出:
亂碼
路飛學城
unicode
# 在python2中
#_*_coding:utf-8_*_
s = '路飛學城'
print s
s2 = s.decode('utf-8')
s3 = s2.encode('gbk')
print s3
print type(s3)
輸出:
亂碼
路飛學城
str
所以 python Ghost 如何新增cookies
我查了很多資料,都是說用以下的方法新增 然後和ghost關聯就沒有了 其實也很簡單,只是這方面的資料很受,我查閱了ghost的api,才發現也乙個很有用的方法 load cookies cookie storage,keep old false load from cookielib s cooki...
編碼方式,編碼之問題
編碼方式對於程式的重要不言而喻,若是不能徹底理解編碼方式,則在許多的地方都會困擾著你。對於編碼方式的困擾,在剛學習jsp時出現的亂碼問題到現在一年有餘,一直在模糊狀態,如今,也不知道是不是真的徹底明白,只是有一點小小的收穫,期待以後的徹底理解,在此先記錄一下點點滴滴。從開始的亂碼起。首先是jsp中的...
mysql中的編碼問題 mysql編碼問題總結
網上查了一些mysql編碼相關的資料,在這裡整理下,不對的地方歡迎各位批評指正。character set server 預設的內部操作字符集 character set connection 連線層字符集 character set results 查詢結果字符集 character set da...