python中文和unicode字符串之間的互相轉換

首先:中文->unicode字符串

import chardet

import codecs

>>> a = "我是一箇中國人"
>>> a
'\xce\xd2\xca\xc7\xd2\xbb\xb8\xf6\xd6\xd0\xb9\xfa\xc8\xcb'

>>> chardet.detect(a)
{'confidence': 0.99, 'encoding': 'GB2312'}
>>> b = a.decode('GB2312')

>>> b
u'\u6211\u662f\u4e00\u4e2a\u4e2d\u56fd\u4eba' -->但是我們往往不想要外面的u

>>> c =repr(b)
>>> c
"u'\\u6211\\u662f\\u4e00\\u4e2a\\u4e2d\\u56fd\\u4eba'"

>>> d = c[2:-1]
>>> d
'\\u6211\\u662f\\u4e00\\u4e2a\\u4e2d\\u56fd\\u4eba'

>>> print d
\u6211\u662f\u4e00\u4e2a\u4e2d\u56fd\u4eba

然後是 unicode  ->中文:

>>> a = '\u9a8c'
>>> a
'\\u9a8c'

>>> b = 'u'+'\''+a+'\''
>>> b
"u'\\u9a8c'"
>>> c = eval(b)
>>> c
u'\u9a8c'
>>> print c

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章