处理双重逃脱的unicode字符串

Pep*_*zza 0 python unicode python-3.5

我有一个格式错误的字符串数据库的数据库.数据如下所示:

"street"=>"\"\\u4e2d\\u534e\\u8def\""
Run Code Online (Sandbox Code Playgroud)

它应该是这样的:

"street"=>"???"
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当双重转义字符串来自数据库时,它们不会被解码为中文字符.所以假设我有这个变量; street="\"\\u4e2d\\u534e\\u8def\""如果我打印print(street)出结果是一串代码点"\u4e2d\u534e\u8def"

此时我可以做什么来转换"\u4e2d\u534e\u8def"为实际的unicode字符?

bun*_*nji 5

首先对此字符串进行编码utf8,然后对其进行解码,unicode-escape以便\\为您处理:

>>> line = "\"\\u4e2d\\u534e\\u8def\""
>>> line.encode('utf8').decode('unicode-escape')
'"???"'
Run Code Online (Sandbox Code Playgroud)

然后,您可以"根据需要剥离