Python中将带有Unicode转义序列的文本转换为Unicode

18

假设我有一个字符串

test
'\\u0259'

注意被转义的反斜杠。

我该如何将它转换为相应的 Unicode 字符串?

1个回答

39
>>> print('test \\u0259'.decode('unicode-escape'))
test ə

16
请注意,如果您使用的是 Python 3.x 版本,您需要使用以下代码:print(bytes('test \\u0259', 'ascii').decode('unicode-escape')) - Frédéric Hamidi
3
如何在不使用print的情况下获取符号ə - Vladimir Chub
2
bytes('test \\u0259', 'ascii') == b'test \\u0259' - Bachsau
如果我们需要将文本存储在JSON文件中,该怎么办? - Syed Adnan Haider
@FrédéricHamidi,您在2010年的回答拯救了我2021年的大脑。传奇。虽然SO说要避免“+1”之类的东西,但这个回答值得特别一提。 - tgmerritt
除了使用 bytes,如果你从一个 Unicode 字符串开始,你也可以直接链接编码和解码(Python 3)。'test \\u0259'.encode('ascii').decode('unicode-escape') - timgeb

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