将二进制字符串转换回二进制(python 3+)



我有一个这样的字符串:

initial = b"data|22|b'or ac mattis blandit, elit mi ullamcorper tellus, id eleifend enim augue in ipsum.'|1358186458"

并像这样获取其内容:

first, second, third, fourth = initial.decode().split('|')

third变量的类型是字符串 ((,但我想将其转换回二进制而不重新包装它。

第三个变量内容是:

"b'or ac mattis blandit, elit mi ullamcorper tellus, id eleifend enim augue in ipsum.'"

请注意,third的类型仍然是字符串,但我希望它回到二进制!

不要decode ing 然后encode回来,而是使用 bytes 等效的 .split,它需要将字节字符串作为分隔符传递:

first, second, third, fourth = initial.split(b'|')

现在third是:

>>> print(third)
b"b'or ac mattis blandit, elit mi ullamcorper tellus, id eleifend enim augue in ipsum.'"

如果不需要二进制字符串中的b'',请将其修剪掉:

>>> third[2:-1]
b'or ac mattis blandit, elit mi ullamcorper tellus, id eleifend enim augue in ipsum.'

最新更新