我有一個unicode字符串κανω
,但由於某些其他軟件的某些預處理我無法更改,因此它變成了字符串'\u03ba\u03b1\u03bd\u03c9'
而不是u'\u03ba\u03b1\u03bd\u03c9'
。如何從unicode字節表示中檢索我的unicode
如何將'\u03ba\u03b1\u03bd\u03c9'
更改回u'\u03ba\u03b1\u03bd\u03c9'
?
我已經試過:
>>> x = '\u03ba\u03b1\u03bd\u03c9'
>>> print x
\u03ba\u03b1\u03bd\u03c9
>>> print x.decode('utf8')
\u03ba\u03b1\u03bd\u03c9
>>> print x.encode('utf8')
\u03ba\u03b1\u03bd\u03c9
>>> print unicode(x)
\u03ba\u03b1\u03bd\u03c9
我不可能去每個字符串輸出並添加u'...'
,即我需要避免這樣做:
>>> x = u'\u03ba\u03b1\u03bd\u03c9'
>>> print x
κανω
有很多字符串格式包含'\ u'轉義符,如果你使用的解碼器與編碼器不匹配(例如,如果你使用特定於Python的'unicode-escape'解碼JSON字符串),那麼你很可能最終會出現某些角落案例的結果。建議您瞭解有關格式的更多細節...例如,它如何輸出反斜槓,換行符,零字節或0080-00FF範圍內的字符? – bobince