将Unicode字符串转换为中文字符

5
我可以帮助您将以下Unicode字符串转换为中文字符:
该字符串为:
'\\u5982\\u679c\\u6211\\u662f\\u4e00\\u4e2a\\u4ece\\u524d\\u7684\\u54f2\\u4eba\\uff0c\\u6765\\u5230\\u4eca\\u5929\\u7684\\u4e16\\u754c\\uff0c\\u6211\\u4f1a\\u6700\\u6000\\u5ff5\\u4ec0\\u4e48\\uff1f'

And I want it to be:

如果我是一个从前的哲人,来到今天的世界,我会最怀念什么?

你尝试查看函数在做什么吗? - Ignacio Vazquez-Abrams
line.strip(u'<sentence S=">')line.strip(u'=<>"censSt ') 是一样的。它会按任意顺序去除这些字符。 - Blender
@IgnacioVazquez-Abrams 我想通过 get_str_segmented 函数从文件中提取所需的句子。但是提取出来的句子不是中文,而是 '\u5982\u679c\u6211\u662f\u4e00'。 - user2870222
我没有问它应该做什么,我问的是它在做什么。 - Ignacio Vazquez-Abrams
@IgnacioVazquez-Abrams 它返回 Unicode 吗?我想要它显示为中文,但是我不知道该怎么做。 - user2870222
1个回答

19

使用 unicode-escape 解码它将会给你想要的结果。

Python 2.7

>>> print '\\u5982\\u679c\\u6211\\u662f\\u4e00\\u4e2a\\u4ece\\u524d\\u7684\\u54f2\\u4eba\\uff0c\\u6765\\u5230\\u4eca\\u5929\\u7684\\u4e16\\u754c\\uff0c\\u6211\\u4f1a\\u6700\\u6000\\u5ff5\\u4ec0\\u4e48\\uff1f'.decode('unicode-escape')
如果我是一个从前的哲人,来到今天的世界,我会最怀念什么?

Python 3.x

->

Python 3.x

>>> print('\\u5982\\u679c\\u6211\\u662f\\u4e00\\u4e2a\\u4ece\\u524d\\u7684\\u54f2\\u4eba\\uff0c\\u6765\\u5230\\u4eca\\u5929\\u7684\\u4e16\\u754c\\uff0c\\u6211\\u4f1a\\u6700\\u6000\\u5ff5\\u4ec0\\u4e48\\uff1f'.encode('ascii').decode('unicode-escape'))
如果我是一个从前的哲人,来到今天的世界,我会最怀念什么?
>>> print(b'\\u5982\\u679c\\u6211\\u662f\\u4e00\\u4e2a\\u4ece\\u524d\\u7684\\u54f2\\u4eba\\uff0c\\u6765\\u5230\\u4eca\\u5929\\u7684\\u4e16\\u754c\\uff0c\\u6211\\u4f1a\\u6700\\u6000\\u5ff5\\u4ec0\\u4e48\\uff1f'.decode('unicode-escape'))
如果我是一个从前的哲人,来到今天的世界,我会最怀念什么?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接