我有一个这样的变量:
>>> s = '\\320\\227\\320\\264\\320\\260\\320\\275\\320\\270\\320\\265 \\320\\261\\321\\213\\320\\262\\321\\210\\320\\265\\320\\271'
>>> print(s)
\320\227\320\264\320\260\320\275\320\270\320\265 \320\261\321\213\320\262\321\210\320\265\320\271
这包含字符串“Зданиебывшей”的UTF-8编码的八进制转义表示(八进制320 227
=十六进制D0 97
= UTF-8表示“З”)。如何将此字符串解码为“Зданиебывшей”?
答案 0 :(得分:0)
这有点像黑客。
s = '\\320\\227\\320\\264\\320\\260\\320\\275\\320\\270\\320\\265 \\320\\261\\321\\213\\320\\262\\321\\210\\320\\265\\320\\271'
b = bytes([int(i, 8) for i in s.split("\\")[1:]])
print(b.decode("utf8"))
收益率:Зданиебывшей
或使用codecs
模块。
b2 = codecs.escape_decode(s)[0]
print(b2.decode("utf8"))
哪会产生相同的结果。