Python 3.x Python 3二进制字符串的迁移

Python 3.x Python 3二进制字符串的迁移,python-3.x,python-2.7,Python 3.x,Python 2.7,我有一个字符串二进制='0000010011101010100111000101101010000100000011101010100111000101101010000111110000000000010000000000010000010001000011010000101100001111100000000000000000000000001011001100000000000000000000000000000000000000000000000000000010000000000000

我有一个字符串
二进制='0000010011101010100111000101101010000100000011101010100111000101101010000111110000000000010000000000010000010001000011010000101100001111100000000000000000000000001011001100000000000000000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

在Python2中,当我执行
'.join(chr(int(binary[i*8:i*8+8],2])时,我在它上面得到
'\x04\xea\x9cZ\x84\x0e\xa9\xc5\xa8 | \x00@\x04\x11\r\x0b\x0f\x80\x00\x00,\X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
在Python 3中,我得到了
'\x04ê\x9cZ\x84\x0eÅ| \x00@\x04\x11\r\x0b\x0f\x80\x00\x00,在中国\\\\\\\\\\\\\\\\\\\\\\\\x00\\x00\\0\\\\\\\\\\\\\\\\\\\\\\x00\0 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\\\\\\\\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\\\\\\\\\\x00\\\\\\x00\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\\\\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000\x00\x00'
。注意第一部分的区别

现在我知道这是因为for
I=0
在for循环中,最终得到了chr(234),这在python2和python3中给出了不同的结果。因此,为了避免这个问题,我最终在python 3中对范围内的I(len(binary)//8))
执行了
b'。连接(字节([int(binary[I*8:I*8+8],2)])
,这给了我与带“b”前缀的2相同的字符串。我很难摆脱这个b。基本上我将如何获得(TL:DR)
”\x04\xea\x9cZ\x84\x0e\xa9\xc5\xa8\x00@\x04\x11\r\x0b\x0f\x80\x00\x00,\X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
from
b'\x04\xea\x9cZ\x84\x0e\xa9\xc5\xa8\x00@\x04\x11\r\x0b\x0f\x80\x00,\X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\Python3中的x00\x00\x00'
假设s是字符串,则不会
int(s,2)。to_bytes((len(s)+7)//8,byteorder='big')
执行此操作吗?@guilHeremarth此操作有效!谢谢