Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串正确转换为二进制python_Python_String_Binary - Fatal编程技术网

将字符串正确转换为二进制python

将字符串正确转换为二进制python,python,string,binary,Python,String,Binary,我有一个字符串需要转换成二进制。我试过这个: bin = ''.join(format(ord(x), 'b') for x in strr) 但是结果是错误的长度,因为Python不保持前导零。例如,它输出的不是01110100,而是1110100 此方法: temp = '{0:08b}'.format(frame) 不适用于字符串 如何将字符串正确转换为二进制 编辑: 示例输入:“测试” 所需输出:'1110100011001010111001101110100'我不确定这是否符合您的

我有一个字符串需要转换成二进制。我试过这个:

bin = ''.join(format(ord(x), 'b') for x in strr)
但是结果是错误的长度,因为Python不保持前导零。例如,它输出的不是
01110100
,而是
1110100

此方法:

temp = '{0:08b}'.format(frame)
不适用于字符串

如何将字符串正确转换为二进制

编辑:

示例输入:
“测试”


所需输出:
'1110100011001010111001101110100'

我不确定这是否符合您的需要。这个怎么样

''.join("{:08b}".format(int(num, 16)) for num in strr.split())
演示

如果您的文本是真正的顺序编码十六进制,那么您就有了一种非常时髦的存储数据的方法,但您可以做到:

''.join("{:08b}".format(ord(num)) for num in strr
演示


“二进制视图”应该是什么意思?输入的预期输出是什么
'74 65 73 74'
?二进制视图-0和1。在我的问题中,十六进制视图(74657374)可能是不需要的。这不是它的复制品,@BurhanKhalid。这里的OP已经知道如何格式化为二进制:问题似乎是如何格式化为零填充的8位字符串
''.join("{:08b}".format(ord(num)) for num in strr
In [42]: strr
Out[42]: '74 65 73 74'

In [43]: ''.join("{:08b}".format(ord(num)) for num in strr)
Out[43]: '0011011100110100001000000011011000110101001000000011011100110011001000000011011100110100'