我编写了这个函数,它将字符串转换为二进制
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
格式指定符。