如何用Python实现二进制转文本?已有文本转二进制代码
Python 二进制转文本实现方案
你的文本转二进制代码是将每个字符转为8位二进制后拼接,反向转换只需按8位分割二进制字符串,再将每段转为对应字符即可,以下是实现方案:
核心实现
def binary_to_text(binary_str): # 按8位分割二进制字符串 byte_chunks = [binary_str[i:i+8] for i in range(0, len(binary_str), 8)] # 逐段转换为字符并拼接 return ''.join(chr(int(chunk, 2)) for chunk in byte_chunks)
使用示例
假设你用现有代码生成的二进制字符串如下:
# 用你提供的文本转二进制代码生成示例 arg = "hello" binary_str = ''.join(format(ord(i), '08b') for i in arg) # 调用转换函数 text = binary_to_text(binary_str) print(text) # 输出: hello
边界情况处理
如果输入的二进制字符串长度不是8的整数倍(比如截断后的不完整数据),可以补前导零保证转换正常:
def binary_to_text(binary_str): # 补前导零使长度为8的倍数 remainder = len(binary_str) % 8 if remainder != 0: binary_str = '0' * (8 - remainder) + binary_str byte_chunks = [binary_str[i:i+8] for i in range(0, len(binary_str), 8)] return ''.join(chr(int(chunk, 2)) for chunk in byte_chunks)
内容的提问来源于stack exchange,提问作者44etread
相关产品推荐
相关产品推荐

