我有一个这样的变量:
>>> 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
它包含字符串“十六进制”(八进制320 227
=十六进制D0 97
= UTF-8表示"Зданиебывшей“)的UTF-8编码的八进制转义表示。如何将此字符串解码为"Зданиебывшей"?
发布于 2018-05-31 18:24:45
这是一个小技巧。
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"))
也会产生同样的结果。
https://stackoverflow.com/questions/50621340
复制相似问题