从二进制输出中移除0b的问题



我编写了这个函数,它将字符串转换为二进制

def str_2_bin(message): 
separator = ''
binary = separator.join(map(bin,bytearray(message,'utf-8')))
return binary 
print (str_2_bin('hi there'))

,这是字符串的输出:

0b11010000b11010010b1000000b11101000b11010000b11001010b11100100b1100101

我想知道是否有一种方法可以从这个输出二进制字符串中删除所有'0b'

可以使用replace函数完成。将'0b'替换为" .

def str_2_bin(message): 
separator = ''
binary = separator.join(map(bin,bytearray(message,'utf-8')))
binary = binary.replace("0b","")
return binary 

您可以将函数更改为:

def str_2_bin(message): 
separator = ''
binary = separator.join(f"{x:08b}" for x in bytearray(message,'utf-8'))
return binary 

将每个字节格式化为长度为8的补零二进制字符串。这是08b格式指定符。

最新更新