2
在python中是否有一个函数等同于用'u'作为字符串的前缀?python字符串编码问题
比方说,我有一个字符串:
a = 'C\xc3\xa9dric Roger'
,我想将其转换为:
b = u'C\xc3\xa9dric Roger'
,这样我可以把它比作其他Unicode对象。我怎样才能做到这一点?我的第一个直觉是尝试:
>>>> b = unicode(a)
Traceback (most recent call last):
File "<string>", line 1, in <fragment>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)
但这似乎是试图解码字符串。没有进行任何类型的解码,是否有一个转换为unicode的函数? (那是什么 'U' 字头确实还是我误解?)
对不起如果我在这里很愚蠢但unicode('C \ xc3 \ xa9dric Roger','utf8')不会产生u'C \ xc3 \ xa9dric Roger'... –
@JohnGreenall:不,因为您现在有* Unicode *值; C3 A9是Unicode标准中的U + 00E9代码点的UTF-8编码,也就是拉丁文中带有ACUTE的小写字母E.当表示unicode字符串时,Python将显示为'u'\ xe9'。 –
@JohnGreenall:再次,*请*阅读我的答案中包含的链接,这里有一些基本概念需要了解。 –