python字符串以 0_在Python中将0和1的字符串转换为字节

我有一个二进制整数的字符串表示,我需要具有精确位结构的字节,通过套接字发送.

对于例如如果我有一个长度为16:0000111100001010的字符串,那么我需要2个字节的相同位结构.在这种情况下,第一个字节的int值应为15,第二个字节的值为10.如果它们可以以ascii格式打印,则无关紧要.我怎么得到它?

我尝试了以下方法,它以0xf0xa的形式创建字节.但这个大小为6个字节而不是2个字节.

def getByte(s):

if(len(s) != 8):

return

b = b'0'

for c in s:

b = (int(b) | int(c)) & 0x0000ff #This makes b an integer

b = b << 1

b = b >> 1 #because of 1 extra shift

b = hex(b).encode('utf-8') #how else can I get back to byte from int?

return(b)

此方法采用长度为8的字符串,并打算提供相同内部位结构的字节,但失败. (我需要类似于C中的strtol的东西.)

有什么帮助吗?

你可能感兴趣的:(python字符串以,0)