問題1:gbk和unicode編碼的不同
#coding:gbk
ss='哈哈'
print ss
ss1=u'哈哈'
print len(ss),len(ss1)
print ss==ss1
結果:
哈哈
4 2true
為什麼相同但是長度不一樣?
問題2:
解決utf-8格式和unicode和編碼問題
s1=u'哈哈'
s='哈哈'
utf8_s=unicode(s,'utf-8')
utf8_s==s1
true
print utf8_s
哈哈print s1
哈哈
python預設讀取文字的格式為ansi,如果將文字的格式轉化為utf-8則需要解碼
例如:print open("test.txt").read().decode("utf-8")
問題3:
宣告檔案的格式不同
檔案的編碼格式決定了在該原始檔中宣告的字串的編碼格式
即意味著如果宣告為gbk編碼的檔案,最好檔案也宣告為gbk格式的,如果檔案為utf-8格式的話,容易出錯。
s='你好'
s1=u'你好'
s'\xe4\xbd\xa0\xe5\xa5\xbd'
s1.encode('utf-8')
'\xe4\xbd\xa0\xe5\xa5\xbd'
s==s1.encode('utf-8')
true
以上**說明控制台程式預設的格式是utf-8編碼 Python 2 7之中文亂碼問題
學習python一段時間了,一直沒有寫過部落格。就從今天開始吧!python 3之後當然不存在亂碼問題了。python 2的亂碼問題有時就有點頭疼了。均為在windows下測試 示例 儲存為test1.py 報錯資訊如下 解決辦法 我將 儲存為test.py,執行 不出所料,第八行輸出的為亂碼,第九...
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基礎語法
1.建立檔案xx.py usr bin python3 print hello,world 2.linux下執行 python hello.py 3.編碼 預設字串unicode 設定編碼 coding utf 8 4.識別符號 第乙個字元必須是字母表中字母或下劃線 識別符號的其他的部分有字母 數字...