您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中二进制到字符串/文本

Python中二进制到字符串/文本

似乎您正在尝试从每个字符的二进制字符串表示形式(位字符串)解码ASCII字符。

您可以将每个块包含八个字符(一个字节),将其转换为整数,然后使用以下命令将其转换为字符chr()

>>> X = "0110100001101001"
>>> print(chr(int(X[:8], 2)))
h
>>> print(chr(int(X[8:], 2)))
i

假设字符串中编码的值是ASCII,这将为您提供字符。您可以将其概括如下:

def decode_binary_string(s):
    return ''.join(chr(int(s[i*8:i*8+8],2)) for i in range(len(s)//8))

>>> decode_binary_string(X)
hi

如果您想将其保留为原始编码,则无需进一步解码。通常,您会将输入的字符串转换为Python unicode 字符串,可以这样做(Python 2):

def decode_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.decode(encoding)
python 2022/1/1 18:38:30 有232人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶