从字符串中获取Unicode字符并对其进行解码

时间:2015-05-06 08:12:25

标签: python string unicode

我目前正在使用Python,而且我从网上提取了大量数据,包括照片标题。我所获得的一些字符串中包含unicode,我希望将其显示为原始字符。

我知道如果我打字,例如,

print u'\u00a9'

将输出正确的字符到终端。

但是,如果我得到一个字符串,如:

string = 'Copyright \u00a9 David'

我不知道如何把它拉出来。

我设法用RegEx取出字符代码,但我不知道如何将其重新插入而不会出现错误。

我试过了:

char = \u00a9
string = 'Copyright' + u'char' + 'David'

并没有真正发挥作用。

我需要一种以编程方式提取代码的方法(我可以使用RegEx执行),然后使用u'重新插入到原始字符串中。在它面前。

3 个答案:

答案 0 :(得分:4)

我认为你误解了u是什么。它是一种在代码中识别和显示unicode 文字的方法,与将字符串变量从一个表示转换为另一个表示无关。

你真正需要的是使用" unicode-escape"解码字符串。编解码器:

>>> print string.decode('unicode-escape')
Copyright © David

答案 1 :(得分:2)

有充分的理由

char = \u00a9
string = 'Copyright' + u'char' + 'David'

无效; - )

char = u'\u00a9'
string = 'Copyright ' + char + ' David'
print string
>>> Copyright © David

答案 2 :(得分:1)

将char存储为char = u'\u00a9'而不是char = \u00a9。然后当你附加你的字符串时,只需:

string = 'Copyright ' + char + ' David'