似乎您正在尝试从每个字符的二进制字符串表示形式(位字符串)解码ASCII字符。
您可以将每个块包含八个字符(一个字节),将其转换为整数,然后使用以下命令将其转换为字符
chr():
>>> X = "0110100001101001">>> print(chr(int(X[:8], 2)))h>>> print(chr(int(X[8:], 2)))i
假设字符串中编码的值是ASCII,这将为您提供字符。您可以将其概括如下:
def depre_binary_string(s): return ''.join(chr(int(s[i*8:i*8+8],2)) for i in range(len(s)//8))>>> depre_binary_string(X)hi
如果您想将其保留为原始编码,则无需进一步解码。通常,您会将输入的字符串转换为Python unipre 字符串,可以这样做(Python 2):
def depre_binary_string(s, encoding='UTF-8'): byte_string = ''.join(chr(int(s[i*8:i*8+8],2)) for i in range(len(s)//8)) return byte_string.depre(encoding)



