python2 7的亂碼問題

2021-06-23 08:28:50 字數 894 閱讀 1147

問題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.識別符號 第乙個字元必須是字母表中字母或下劃線 識別符號的其他的部分有字母 數字...