我有一个像这样的字符串:
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
变量的类型为string()但我想将其转换回二进制而不重新包装它。
第三个变量内容是:
"b'or ac mattis blandit, elit mi ullamcorper tellus, id eleifend enim augue in ipsum.'"
请注意,third
的类型仍为字符串,但我想将其恢复为二进制!
答案 0 :(得分:0)
而不是decode
然后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.'