我有一个python字符串,如下所示:
byte_string = "01100110"我想把它转换成这样的字节:
byte_byte = some_function(byte_string) # byte_byte = 0b01100110我怎样才能做到这一点?
发布于 2022-01-03 21:31:49
似乎您希望将该字符串转换为单个数字。为此,您只需转换为基数为2的int。
byte_byte = int(byte_string, 2)发布于 2022-01-03 20:58:07
在进一步思考这个问题之后,我想我原来误解了你的意图,这反映在我下面的“事先回答”中。
我认为这个先验问题也可以解决你的问题,因为听起来你想把一个8位的字符串转换成一个字节。而且,正如@Mark所指出的,它看起来像一个十进制代码:
int(byte_string, 2)
output: 102或者像这样作为对应的ascii字符:
chr(int(byte_string, 2))
output: 'f'可以将字符串编码成这样的字节,如果需要,还可以传递特定的编码:
byte_string = "01100110"
byte_string.encode("utf-8")
bytes(byte_string, 'utf-8')结果:
b'01100110'另一种选择是创建字节数组:
bytearray(byte_string, 'utf-8')
output: bytearray(b'01100110')下面是另一个可能有用的StackOverflow螺纹,它描述了字节和字节数组对象之间的区别,以及它们在字符串转换中的使用。
https://stackoverflow.com/questions/70571331
复制相似问题