我目前正在使用Python,而且我从网上提取了大量数据,包括照片标题。我所获得的一些字符串中包含unicode,我希望将其显示为原始字符。
我知道如果我打字,例如,
print u'\u00a9'
将输出正确的字符到终端。
但是,如果我得到一个字符串,如:
string = 'Copyright \u00a9 David'
我不知道如何把它拉出来。
我设法用RegEx取出字符代码,但我不知道如何将其重新插入而不会出现错误。
我试过了:
char = \u00a9
string = 'Copyright' + u'char' + 'David'
并没有真正发挥作用。
我需要一种以编程方式提取代码的方法(我可以使用RegEx执行),然后使用u'重新插入到原始字符串中。在它面前。
答案 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'