【发布时间】:2021-02-24 14:24:51
【问题描述】:
我有一个文本文件,想以二进制形式读取它,以便将其内容转换为十六进制字符。
然后,我需要将“20”替换为“0”,将“80”、“e2”、“8f”替换为“1”。
这将创建一个由 0 和 1 组成的字符串(基本上是二进制)。
最后,我需要把这个二进制字符串转换成ascii字符。
我快完成了,但我在最后一部分中挣扎:
import binascii
import sys
bin_file = 'TheMessage.txt'
with open(bin_file, 'rb') as file:
file_content = file.read().hex()
file_content = file_content.replace('20', '0').replace('80', '1').replace('e2', '1').replace('8f', '1')
print(file_content)
text_bin = binascii.a2b_uu(file_content)
最后一行产生错误(我不完全理解python中的字符串/十六进制/二进制解释):
Traceback (most recent call last):
File "binary_to_string.py", line 34, in <module>
text_bin = binascii.a2b_uu(file_content)
binascii.Error: Trailing garbage
你能帮帮我吗?
我正在处理这个文件:blank_file
【问题讨论】:
标签: python-3.x binary hex ascii