首先,我感谢您愿意提供的任何帮助,所以非常感谢您花时间阅读此文。另外,我使用的是Python 3,但我会尽我所能将我的需求转换为任何Python 2语法。如何将二进制文件转换为ASCII
我设法读取我的二进制文件来产生一个非常长的字符串。这是它的一小块:
myfile = "\xde\xad\xbe\xef\x01\x00\xe1\x07\x01\x00\x01\x00\x1e\x00\"
我想将其转换为ASCII文本。 我挣扎的第一件事是反斜杠。 我曾尝试以下:
convert1 = myfile.split('\\\')
print(convert1)
这给了我:
['xde', 'xad', 'xbe', 'xef', 'x01', 'x00', 'xe1', 'x07', 'x01', 'x00', 'x01', 'x00']
问题是,我失去了我的反斜杠。我想有它的输出:
['\xde', '\xad', '\xbe', '\xef', '\x01', '\x00', '\xe1', '\x07', '\x01', '\x00', '\x01', '\x00']
在这里,我打算使用一个for循环的每个项目列表转换为序,再后来回到一个字符:
convert2 = []
for items in convert1:
i = ord(items)
convert2.append(i)
convert3 = []
for items in convert2:
i = chr(items)
convert3.append(i)
我希望这会给我ASCII字符,但如果你知道更简单的方法,我很乐意听到它。 在此先感谢您的帮助。
2017-02-21
Matt
+0
http://stackoverflow.com/questions/7396849/convert-binary-to-ascii-and-vice-versa –
+0
这并不完全清楚你想要做什么。为什么你认为二进制文件数据可以转换为ASCII文本?您从文件开头显示的示例?字节字符串“b”\ xde \ xad \ xbe \ xef \ x01 \ x00 \ xe1 \ x07 \ x01 \ x00 \ x01 \ x00 \ x1e \ x00 \“'看起来不像我的简单文本编码。 –
+2
您的'myfile ='和'convert ='行都不是有效的Python。如果我们删除最后一个反斜杠,那么你就不会得到你所说的话,因为(例如)字符串'“\ xde”'里没有任何文字反斜杠(长度为1,长度不是4 。) –