如何将 Unicode 类型转换为 str 类型?(也许这不是编码或解码的问题)



我有一个字符串s定义为:

s='中文'

我需要将其编码为转义的代码单元(u4e2du6587),如下所示:

s2='u4e2du6587'

我试过这个:

s1=unicode(s,'cp936') 
print type(s1)

但它打印<type 'unicode'>(如果我打印s我会得到<type 'str'>)。

如果这很重要,我使用的是Python 2.7.8。

s='中文'

Python 2中的一个字节字符串,所以字节串的编码是模棱两可的。 它将采用源文件的编码,但缺少该信息。

但是,要使用 Unicode 字符串进行转换非常简单:

>>> s = u'中文'
>>> type(s)
<type 'unicode'>
>>> b = s.encode('unicode_escape')
>>> b
'\u4e2d\u6587'
>>> type(b)
<type 'str'>
>>> print b
u4e2du6587

相关内容

最新更新