将字节列表转换为字节字符串

时间:2014-09-14 09:03:18

标签: python hex byte

我有以下字节列表:

[b'S', b'\x00', b't', b'\x00', b'a', b'\x00', b'n', b'\x00', b'd', b'\x00', b'a', b'\x00', b'r', b'\x00', b'd', b'\x00', b'F', b'\x00', b'i', b'\x00', b'r', b'\x00', b'm', b'\x00', b'a', b'\x00', b't', b'\x00', b'a', b'\x00', b'.', b'\x00', b'i', b'\x00', b'n', b'\x00', b'o', b'\x00', b'y', b'\x02', b'\x03', b'S', b'\x00', b't', b'\x00', b'a', b'\x00', b'n', b'\x00', b'd', b'\x00', b'a', b'\x00', b'r', b'\x00', b'd', b'\x00', b'F', b'\x00', b'i', b'\x00', b'r', b'\x00', b'm', b'\x00', b'a', b'\x00', b't', b'\x00', b'a', b'\x00', b'.', b'\x00', b'i', b'\x00', b'n', b'\x00', b'o', b'\x00', b'y', b'\x02', b'\x03', b'S', b'\x00', b't', b'\x00', b'a', b'\x00', b'n', b'\x00', b'd', b'\x00', b'a', b'\x00', b'r', b'\x00', b'd', b'\x00', b'F', b'\x00', b'i', b'\x00', b'r', b'\x00', b'm', b'\x00', b'a', b'\x00', b't', b'\x00', b'a', b'\x00', b'.', b'\x00', b'i', b'\x00', b'n', b'\x00', b'o', b'\x00', b'y', b'\x02', b'\x03', b'S', b'\x00', b't', b'\x00', b'a', b'\x00', b'n', b'\x00', b'd', b'\x00', b'a', b'\x00', b'r',

我有一种简单的方法可以将其转换为一个长byte吗?我想技术上称为bytestring(虽然我不确定)。

注意,我看了here,但它对我不起作用。此外,对于一个长byte个对象(例如b'\f\x04\55')和byte object或其他内容,这是正确的术语吗?

2 个答案:

答案 0 :(得分:11)

使用bytes.join

>>> b = [b'S', b'\x00', b't', b'\x00', b'a']
>>> b''.join(b)  # b'': separator
b'S\x00t\x00a'

答案 1 :(得分:4)

bytesbytearray个对象具有join方法:

In [37]: b''.join([b'S', b'\x00', b't', b'\x00', b'a', b'\x00', b'n', b'\x00', b'd', b'\x00'])
Out[37]: b'S\x00t\x00a\x00n\x00d\x00'