由于整个文件中存在NUL字节,我无法查看整个文件的内容。
以下是我的文件的hexdump(它在代码段中以保持可读性):
0000-0010: 22 fc 6b 0c-6c 3f 6d 0c-a2 ea da b6-dc d6 6e 00 ".k.l?m. ......n.
0000-0020: 22 d4 66 03-68 02 60 60-f0 15 f0 07-30 00 12 1a ".f.h.`` ....0...
0000-0030: c7 17 77 08-69 ff a2 f0-d6 71 a2 ea-da b6 dc d6 ..w.i... .q......
0000-0040: 60 01 e0 a1-7b fe 60 04-e0 a1 7b 02-60 1f 8b 02 `...{.`. ..{.`...
0000-0050: da b6 60 0c-e0 a1 7d fe-60 0d e0 a1-7d 02 60 1f ..`...}. `...}.`.
0000-0060: 8d 02 dc d6-a2 f0 d6 71-86 84 87 94-60 3f 86 02 .......q ....`?..
0000-0070: 61 1f 87 12-46 00 12 78-46 3f 12 82-47 1f 69 ff a...F..x F?..G.i.
0000-0080: 47 00 69 01-d6 71 12 2a-68 02 63 01-80 70 80 b5 G.i..q.* h.c..p..
0000-0090: 12 8a 68 fe-63 0a 80 70-80 d5 3f 01-12 a2 61 02 ..h.c..p ..?...a.
0000-00a0: 80 15 3f 01-12 ba 80 15-3f 01 12 c8-80 15 3f 01 ..?..... ?.....?.
0000-00b0: 12 c2 60 20-f0 18 22 d4-8e 34 22 d4-66 3e 33 01 ..`...". .4".f>3.
0000-00c0: 66 03 68 fe-33 01 68 02-12 16 79 ff-49 fe 69 ff f.h.3.h. ..y.I.i.
0000-00d0: 12 c8 79 01-49 02 69 01-60 04 f0 18-76 01 46 40 ..y.I.i. `...v.F@
0000-00e0: 76 fe 12 6c-a2 f2 fe 33-f2 65 f1 29-64 14 65 02 v..l...3 .e.)d.e.
0000-00f0: d4 55 74 15-f2 29 d4 55-00 ee 80 80-80 80 80 80 .Ut..).U ........
0000-0100: 80 00 00 00-00 00 c0 c0-c0 00 ff 00-6b 20 6c 00 ........ ....k.l.
0000-0110: a2 f6 db c4-7c 04 3c 20-13 02 6a 00-6b 00 6c 1f ....|.<. ..j.k.l.
0000-0120: a2 fa da b1-da c1 7a 08-3a 40 13 12-a2 f6 6a 00 ......z. :@....j.
0000-0126: 6b 20 db a1-00 ee k.....
但不是得到:
"ükl?m¢êÚ¶ÜÖn "Ôfh``ðð0 Çwiÿ¢ðÖq¢êÚ¶ÜÖ`à¡{þ`à¡{`‹Ú¶`à¡}þ`
à¡}`ÜÖ¢ðÖq†„‡”`?†a‡F xF?‚GiÿG iÖq*hc€p€µŠhþc
€p€Õ?¢a€?º€?È€?Â` ð"ÔŽ4"Ôf>3fhþ3hyÿIþiÿÈyIi`ðvF@vþl¢òþ3òeñ)deÔUtò)ÔU €€€€€ ÀÀÀ ÿ k l ¢öÛÄ|< j k l¢úÚ±ÚÁz:@¢öj k Û¡ î
按照我的预期打印时,我得到了:
"ükl?m¢êÚ¶ÜÖn
我目前的尝试是:
def loadProgram(f):
fin = open(f,'rb')
buf = fin.read()
我想不出任何进一步行动的方法。
整个文件是否无法读取或打印出现问题?
答案 0 :(得分:1)
Windows存在问题,nul-bytes终止任何文本字符串。因此,Windows会在第一个\0
停止打印。您可以使用repr
打印转义字符。