4

python中将字符串与二进制值连接的最简单方法是什么?

sep = 0x1
data = ["abc","def","ghi","jkl"]

查找"abc0x1def0x1ghi0x1jkl"0x1 为二进制值而不是字符串“0x1”的结果数据。

4

3 回答 3

11

我认为

joined = '\x01'.join(data) 

应该这样做。\x01是值为 0x01 的字节的转义序列。

于 2009-06-18T12:51:12.437 回答
4

chr() 函数将具有将变量转换为具有您正在查找的二进制值的字符串的效果。

>>> sep = 0x1
>>> sepc = chr(sep)
>>> sepc
'\x01'

然后可以使用 join() 函数将一系列字符串与您的二进制值作为分隔符。

>>> data = ['abc']*3
>>> data
['abc', 'abc', 'abc']
>>> sepc.join(data)
'abc\x01abc\x01abc'
于 2009-06-18T13:03:35.003 回答
0

我知道这不是最好的方法,但是对于同一问题,在不同情况下可能有用的另一种方法是:

>>> x=(str(bin(0b110011000)))
>>> b=(str(bin(0b11111111111)))
>>> print(x+b)
0b1100110000b11111111111

如果需要,要删除每个字符串的最左边两位(即 0b 填充),[2:]值为 2 的 slice 函数可以工作:

>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
于 2018-09-18T13:21:16.643 回答