Dha*_*o R 3 python encoding decoding
我有一个这样的变量:
\n\n>>> 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\'\n>>> print(s)\n\\320\\227\\320\\264\\320\\260\\320\\275\\320\\270\\320\\265 \\320\\261\\321\\213\\320\\262\\321\\210\\320\\265\\320\\271\nRun Code Online (Sandbox Code Playgroud)\n\n这包含字符串“\xd0\x97\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5\xd0\xb1\xd1\x8b\xd0”的UTF-8编码的八进制转义表示\xb2\xd1\x88\xd0\xb5\xd0\xb9"(八进制320 227=十六进制D0 97= UTF-8 表示“\xd0\x97”)。如何将此字符串解码为“\xd0\x97\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5\xd0\xb1\xd1\x8b\xd0\xb2\xd1\x88\xd0 \xb5\xd0\xb9"?
这有点像黑客。
\n\ns = \'\\\\320\\\\227\\\\320\\\\264\\\\320\\\\260\\\\320\\\\275\\\\320\\\\270\\\\320\\\\265 \\\\320\\\\261\\\\321\\\\213\\\\320\\\\262\\\\321\\\\210\\\\320\\\\265\\\\320\\\\271\'\n\nb = bytes([int(i, 8) for i in s.split("\\\\")[1:]])\n\nprint(b.decode("utf8"))\nRun Code Online (Sandbox Code Playgroud)\n\n产量:\xd0\x97\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5\xd0\xb1\xd1\x8b\xd0\xb2\xd1\x88\xd0\xb5\xd0\xb9
或者使用该codecs模块。
b2 = codecs.escape_decode(s)[0]\nprint(b2.decode("utf8"))\nRun Code Online (Sandbox Code Playgroud)\n\n这会产生相同的结果。
\n| 归档时间: |
|
| 查看次数: |
2113 次 |
| 最近记录: |