python2 7解決中文編碼問題

2021-08-14 06:34:35 字數 707 閱讀 4618

粗略地介紹下編碼知識,首先我們認為是位元組是面向計算機的,字元是面向人類的,相互的轉換就是解碼和編碼,在各種編碼中,ascii碼是7位,用不到乙個位元組,7個位元來表示字元,這樣最多也只有127個字元,iso8859-1用乙個位元組8個位元表示字元,可以表示256個字元,gb2312是用2個位元組,16個位元,可以包含7000多個字元,其次unicode(universal multiple-octet coded character set」,簡稱 ucs, 俗稱 「unicode」)包含上述各種編碼的字元,並且每乙個字元都具有編碼的唯一性,隨著網際網路的快速發展,傳輸格式utf(ucs transfer format)標準必須統一,8位一傳輸就是utf-8,以後又出現了utf-16,由gbk變成unicode叫做decode,由unicode變成gbk叫做encode,下面我們看下在python中的**

import sys

print sys.stdin.encoding

print sys.stdout.encoding

input-str=raw_input(u'輸入:'.encode(sys.stdout.encoding))

f=open('test.txt','w')

f.write(input-str.decode(sys.stdin.encoding).encode('utf-8'))

f.close

通過對系統輸入輸出編碼的識別,可以避免由於中文帶來的亂碼

python2 7中文編碼 python2 7

我從外部api中獲得了乙個字串 u4ece u8d77 u70b9 u5411 u6b63 u5357 u65b9 u5411 u51fa u53d1,u884c u9a76170 u7c73,u76f4 u884c u8fdb u5165 u4e2d u5173 u6751 u4e1c u8def...

python2 7編碼問題

在使用python從庫里拿到乙個字段進行比較時,出現以下錯誤 ascii codec can t decode byte 0xe5 in position 3 ordinal not inrange 128 原因 python的str預設是ascii編碼,和unicode編碼衝突,而從資料庫中拿到的...

python2 7中文編碼報錯問題

python2.7 預設編碼為ascii而不是utf 8,所以在進行含中文的csv檔案資料分析時會遇到報錯的問題。錯誤 non ascii character xe5 in file data.py on line 15,but no encoding declared see for detail...