【发布时间】:2018-11-10 07:00:42
【问题描述】:
我有一个这样的变量:
>>> 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 表示“З”)。如何将此字符串解码为“Зданиебывшей”?
【问题讨论】:
-
我的问题不同.. @deceze.. 我不能写 b'\320\227\320\264\320\260\320\275\320\270\320\265 \320\ 261\321\213\320\262\321\210\320\265\320\271' 因为我将八进制值作为字符串对象动态获取
-
stackoverflow.com/a/23173435/476...?不?预期的结果是什么?
-
八进制值在 STRING 对象中。我无法解码字符串对象而不将其转换为字节对象,对吗?所以如果我将一个字符串对象转换为字节,八进制内容就会改变。我必须将字符串变量(已经是八进制)中的值转换为字节对象而不更改八进制值,以便我可以对其进行解码
-
是的。那么您可能正在寻找stackoverflow.com/a/24519338/476。
-
;-;这个完全不同。我想你不明白我的问题。我只想将字符串对象(包含八进制值)转换为字节对象。例如:str = "\320\320\320" 我必须把它变成一个像这样的字节对象 byte_str = b'\320\320\320'
标签: python-3.x encoding decoding