Python2 的編碼問題

2021-08-27 08:54:50 字數 1153 閱讀 5142

比如這樣乙個字串"\u6768\u777f",無論怎麼print它都是這個形式因為它是文字,不是編碼,那麼怎麼轉為中文呢,則需要用如下命令:

print text.decode(『unicode_escape』)

就代表著乙個字 ,對於這些字元,只需要使用如下命令即可從文字轉為編碼字串

print text.decode(『string_escape』)

一般在提取json中會用到,例如下面的s

s='\\u90ae\\u8d44\\u5c01\\u7247'

str="\\".join(s.split('\\')).decode('unicode_escape').decode('unicode_escape')

print(str)

-->> '郵資封片'

for i in cate_list:

# a = json.dumps(i)

a = "\\".join(a.split('\\')).decode("unicode_escape")

a=a.decode("unicode_escape")

print(a)

try:

with open("jdong2.txt", "a") as f:

# f.write(a.decode("unicode_escape").encode("utf8")+'\n')

f.write(a.encode("utf8")+'\n')

except exception as e:

print(e)

in position 9: ordinal not in range(128)

即使你設定了# -- coding:utf-8 --,寫入中文的時候還是出現的這個問題,我的解決是這樣的

import sys

reload(sys)

sys.setdefaultencoding('utf8')

最近遇到這個坑,在python2 中,url應該是字串的,但是實際從網頁中取出的確是unicode編碼的url,導致在請求的時候出現了與抓包結果不同的response,而且花了好久的時間才找打原因.記錄下

Python2編碼問題

以下內容說的都是 python 2.x 版本 我們看到的輸入輸出都是 字元 characters 計算機 程式 並不能直接處理,需要轉化成位元組資料 bytes 因為程式只能處理 bytes 資料。例如 檔案 網路傳輸等,處理的都是 bytes 資料 二進位制數字。孤立的 byte 是毫無意義的,所...

Python2編碼問題

以下內容說的都是 python 2.x 版本 我們看到的輸入輸出都是 字元 characters 計算機 程式 並不能直接處理,需要轉化成位元組資料 bytes 因為程式只能處理 bytes 資料。例如 檔案 網路傳輸等,處理的都是 bytes 資料 二進位制數字。孤立的 byte 是毫無意義的,所...

python2 編碼問題

coding utf 8 import sys reload sys sys.setdefaultencoding utf8 第一行是讓 以utf8格式解析 後面三行是讓python直譯器在decode時候用utf8進行decode 這樣所有字串都是utf8的了,如果遇到非utf8字串可以用deco...