Re: [問題] unicode裡有str資料該怎麼轉?

看板Python作者 (Anemos)時間9年前 (2016/02/03 09:10), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《blc (Anemos)》之銘言: : 請問一下,最近在試fbchat時,有個unicode變數一直print出亂碼, : 用repr印出來長這樣: : u'\xe7\x9c\x8b\xe6\x9c\x89\xe6\xb2\x92\xe6\x9c\x89\xe8\xa3\x9dlzma' : 看起來像是把str的內容塞進unicode了(明明只有json.loads()), : 請問該怎麼把它的內容轉成正常的unicode印出來呢? 我又來了…… 這次的unicode變數長這樣: u'\u0107\x98\u017b\u013a\x95\x8a' 內容是utf-8的'是啊',但看起來就是某幾個unicode字元變成utf-8字串了。 直接給 .encode('iso-8859-1','ignore') 的話\u部份的就被省掉了…… 如果是純字串的'是啊'會是下面的樣子: '\xe6\x98\xaf\xe5\x95\x8a' 純unicode的話是: u'\u662f\u554a' 請問這要怎麼解? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.254.74 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1454490621.A.A38.html

02/03 17:13, , 1F
json.loads()問題實在有點多……
02/03 17:13, 1F

02/03 17:46, , 2F
c = u'\u0107\x98\u017b\u013a\x95\x8a'
02/03 17:46, 2F

02/03 17:46, , 3F
print(c.encode('iso-8859-2').decode('utf-8'))
02/03 17:46, 3F

02/03 20:17, , 4F
哦哦感謝,我真該好好k手冊了
02/03 20:17, 4F

02/04 11:05, , 5F
有找到 chardet module,但是只能偵測str的樣子……
02/04 11:05, 5F

02/04 11:06, , 6F
然後偵測起來好像也不太準……
02/04 11:06, 6F
文章代碼(AID): #1MiSFzeu (Python)
文章代碼(AID): #1MiSFzeu (Python)