我将字符串s
定义为:
s='中文'
我需要将其编码为转义代码单元(\u4e2d\u6587
),如下所示:
s2='\u4e2d\u6587'
我试过了:
s1=unicode(s,'cp936')
print type(s1)
但它打印<type 'unicode'>
(如果我打印s
,我会<type 'str'>
)。
如果重要,我正在使用Python 2.7.8。
答案 0 :(得分:1)
s='中文'
是Python 2中的字节字符串,因此字节字符串的编码方式不明确。它将在源文件的编码中,但缺少该信息。
然而,使用Unicode字符串进行转换非常简单:
>>> s = u'中文'
>>> type(s)
<type 'unicode'>
>>> b = s.encode('unicode_escape')
>>> b
'\\u4e2d\\u6587'
>>> type(b)
<type 'str'>
>>> print b
\u4e2d\u6587