2017年3月13日 星期一

[python]unicode 轉成中文


新手使用ptyhon2.0一定會遇到中文編碼問題,提供一些直接的教學。


unicode字串 轉中文 用decode function:

a='\u73cd\u59ae\u4f5b'
print a.decode('unicode_escape')

//珍妮佛


unicode字串 轉中文 直接定義字串:

c=u'\u73cd\u59ae\u4f5b'
print c

//珍妮佛


文字字串 轉中文:

b='\xe4\xb8\xad\xe6\x96\x87'
print b

//中文

網路抓下來JSON  unicode字串 轉 中文:

d ='{"name": "\u73cd\u59ae\u4f5b\'s Store"}'
print d.decode('unicode_escape')

//{"name": "珍妮佛's Store"}






  • 「unicode 物件」透過 encode(encoding) 變成「str 物件」
  • 「str 物件」透過 decode(encoding) 變成「unicode 物件」


注意再 py3  'bytesprefix ' 如果是b 使用.decode('unicode_escape')會有超級差的效能要特別注意。
例如:
d ='{"name": "\\u73cd\\u59ae\\u4f5b\'s Store"}'
print d.decode('unicode_escape')




參考來源:
https://blog.longwin.com.tw/2014/09/python-list-print-chinese-2014/

https://www.ptt.cc/bbs/Python/M.1226931018.A.394.html
http://r97846001.blog.ntu.edu.tw/2015/01/08/python-%E4%B8%AD%E6%96%87%E8%A7%A3%E7%A2%BC%E5%95%8F%E9%A1%8C/
http://blog.chunnorris.cc/2015/04/python-2x-unicode.html#1-程式碼內出現非-ascii-字元

沒有留言:

張貼留言