我有一个比 500MB 大一点的文件,这导致了一些问题。
我相信问题出在使用的行尾 (EOL) 约定中。我想查看未经解释的原始格式 (1) 的文件,以确认文件的 EOL 约定。
如何使用 Windows 7 内置的内容查看文件的“二进制”?我宁愿避免下载任何额外的东西。
(1) 我和我的同事在文本编辑器中打开了文件,他们按预期显示了行。但是两个文本编辑器都会打开具有不同 EOL 约定的文件并自动解释它们。(TextEdit 和 Emacs 24.2。对于 Emacs,我head -c4096在 linux 机器上创建了一个只有前 4K 字节的第二个文件,并从我的 windows 盒子中打开了它。
我试图在 Emacs 中使用十六进制模式,但是当我进入十六进制模式并返回文本模式时,缓冲区的内容发生了变化,在每行的末尾添加了一个可见的 ^M,所以我不是相信此刻。
我相信问题可能出在所使用的行尾字符上。我和我的同事的编辑尝试 (1) 只是自动识别行尾约定并向我们展示行。并且根据其他证据,我相信 EOL 约定只是回车。(2) 只返回。
要了解文件中的实际内容,我想查看文件的二进制内容,或者至少是文件的几千个字节,最好是十六进制,尽管我可以使用十进制或八进制。只是一个零会很难看。
更新
除了建议之外DEBUG,以下所有答案都在某种程度上起作用。我已经投票赞成每一个都有帮助。我的问题格式不正确。在测试每个建议的解决方案时,我发现我真的想要并排查看十六进制和文本内容,并且我希望它是当我将光标放在某个东西上时的东西,字节值或文本字符,匹配的东西另一面将被突出显示。
当 Emacs hexl-mode 开始“正常”工作时,我实际上解决了我的问题。所以我最终没有使用任何这些答案,只测试它们。(真的应该调查奇怪的 Emacs 行为并提交错误报告。)
小智 87
如果你有powershell 5.0或更高版本,你可以使用powershell内置函数Format-Hex
PS:21 C:\Temp >Format-Hex application.exe
0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 42 4D 5E 00 00 00 00 00 00 00 36 00 00 00 28 00 BM^.......6...(.
00000010 00 00 0A 00 00 00 01 00 00 00 01 00 20 00 00 00 ............ ...
00000020 00 00 00 00 00 00 C4 0E 00 00 C4 0E 00 00 00 00 ......Ä...Ä.....
00000030 00 00 00 00 00 00 B7 59 71 FF B7 59 71 FF B7 59 ......•Yq.•Yq.•Y
00000040 71 FF B7 59 71 FF B7 59 71 FF B7 59 71 FF B7 59 q.•Yq.•Yq.•Yq.•Y
00000050 71 FF B7 59 71 FF B7 59 71 FF B7 59 71 FF q.•Yq.•Yq.•Yq.
Run Code Online (Sandbox Code Playgroud)
wmz*_*wmz 31
内置,快速而肮脏:开始powershell,执行:
gc -encoding byte -TotalCount 100 "your_file_path" |% {write-host ("{0:x}" -f $_) -noNewline " "}; write-host
Run Code Online (Sandbox Code Playgroud)
TotalCount是您要从文件中读取的字节数。
谷歌 'powershell hexdump' 以获得更完善/可用的版本。
如果您有 Windows 资源工具包工具(并非完全内置,但已关闭),您还可以使用名为list.exe. 这是一个带有十六进制模式的小型编辑器。专为处理大文件而设计:
列表文本文件工具(List)是一种命令行工具,用于显示和搜索一个或多个文本文件。与其他文本显示工具不同,List 在打开文件时不会将整个文件读入内存。它允许用户以十六进制格式编辑文本文件。
List 可用于远程显示文本或日志文件,也可用于管理员担心系统性能下降的服务器。
spa*_*rks 11
这也适用于 XP 之后的所有内容:
certutil -encodehex MyProgram.exe MyProgram.txt
XP 需要 Windows Server 2003 管理工具包从这里:
https://www.microsoft.com/en-us/download/details.aspx?id=16770
HxD 是一个便携式的十六进制编辑器,这意味着不需要安装,只不过是一个单独的 exe 文件。
另一个类似的便携选项是 Frhed:
http://frhed.sourceforge.net/en/screenshots/
将文件复制到带有.COM扩展名的名称,其中基本名称不超过八个字符。跑
DEBUG你的文件名
它会给出一个 ' -' 提示。类型
DEnter
反复d在时间isplay文件128个字节。类型
D地址 Enter
显示从address开始的 128 个字节,必须以十六进制键入,其中文件的开头是地址 100。键入
D地址1地址2 Enter
从地址1到地址2 显示。类型
D地址LNUM Enter
显示从address开始的num个字节(长度)。 num也以十六进制输入。使用戒烟。Q
例如,
C:\Users\scott\Documents> debug thispost.com
-d
0BE4:0100 43 6F 70 79 20 74 68 65-20 66 69 6C 65 20 74 6F Copy the file to
0BE4:0110 20 61 20 6E 61 6D 65 20-77 69 74 68 20 61 20 2E a name with a .
0BE4:0120 43 4F 4D 20 65 78 74 65-6E 73 69 6F 6E 2C 20 77 COM extension, w
0BE4:0130 68 65 72 65 20 74 68 65-20 62 61 73 65 20 6E 61 here the base na
0BE4:0140 6D 65 20 69 73 20 6E 6F-20 6C 6F 6E 67 65 72 20 me is no longer
0BE4:0150 74 68 61 6E 20 65 69 67-68 74 20 63 68 61 72 61 than eight chara
0BE4:0160 63 74 65 72 73 2E 0D 0A-52 75 6E 20 44 45 42 55 cters...Run DEBU
0BE4:0170 47 20 2A 79 6F 75 72 5F-66 69 6C 65 6E 61 6D 65 G *your_filename
-d
0BE4:0180 2A 0D 0A 49 74 20 77 69-6C 6C 20 67 69 76 65 20 *..It will give
0BE4:0190 61 20 27 2D 27 20 70 72-6F 6D 70 74 2E 0D 0A 54 a '-' prompt...T
0BE4:01A0 79 70 65 20 44 20 45 6E-74 65 72 20 72 65 70 65 ype D Enter repe
0BE4:01B0 61 74 65 64 6C 79 20 74-6F 20 2A 2A 64 2A 2A 69 atedly to **d**i
0BE4:01C0 73 70 6C 61 79 20 74 68-65 20 66 69 6C 65 20 31 splay the file 1
0BE4:01D0 32 38 20 62 79 74 65 73-20 61 74 20 61 20 74 69 28 bytes at a ti
0BE4:01E0 6D 65 2E 0D 0A 54 79 70-65 20 44 20 5F 61 64 64 me...Type D _add
0BE4:01F0 72 65 73 73 5F 20 74 6F-20 64 69 73 70 6C 61 79 ress_ to display
-d 200 L16
0BE4:0200 20 31 32 38 20 62 79 74-65 73 20 73 74 61 72 74 128 bytes start
0BE4:0210 69 6E 67 20 61 74 ing at
-
Run Code Online (Sandbox Code Playgroud)
由于 Windows 7 内置了 dotnet 框架 3.5,您将内置 C# 编译器,因此您可以获取例如来自http://illegalargumentexception.blogspot.co.uk/2008/04/c-的列表- file-hex-dump-application.html然后编译使用
\windows\Microsoft.NET\Framework\v3.5\csc printhex.cs
Run Code Online (Sandbox Code Playgroud)
并且您应该最终得到一个应显示十六进制和 ascii 字符的 printhex.exe。
| 归档时间: |
|
| 查看次数: |
193058 次 |
| 最近记录: |