你需要一些识别字符边界的方法。如果将其限制为设置的位长度(如仅8位),则可以填充二进制文件,然后就可以知道字符大小。如果你不想这样做,你需要别的办法。
这里有一个方法,它不关心处理空格、emojis等的输入。它是通过用空格分隔二进制文件中的字符来实现的:
test_str = "Dies ist eine binäre Ãbersetzung. ð»"
Binary = ' '.join(format(ord(i), 'b') for i in test_str)
print("original:")
print(test_str)
print("\nThe string after Binary conversion : \n" + Binary)
text = "".join(chr(int(s, 2)) for s in Binary.split())
print(f'\nString after conversion back to text:\n{text}')
这张照片:
原件:
死在一个垃圾桶里。
二进制转换后的字符串:
1000100 1101001 1100101 1110011
100000 1101001 1110011 1110100 100000 1100101 1101001 1101110 1100101
100000 1100010 1101001 1101110 11100100 1110010 1100101 100000
1110101 1101110 1100111 101110 100000 11111 01000011011
转换回文本后的字符串:
死在一个垃圾桶里。
注意emoji的最后一个字符以及二进制文件的长度。可能是bear emoji或几个ascii字符。没有分隔符,现在就有办法知道了。
如果觉得《python如何把二进制转文本_Python:将二进制字符串转换为文本文件》对你有帮助,请点赞、收藏,并留下你的观点哦!