我有一个这样的字符串:
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.'