【问题标题】:Hexadecimal representation of a binary file二进制文件的十六进制表示
【发布时间】:2018-11-18 18:54:10
【问题描述】:

我有一个 binaryfile.bin,其中有一组指令,我必须将其解码为十六进制。 我用 java 编写了一个程序来执行此操作,我得到的十六进制与我从 linux 中的 Hexdump 得到的一样。

我知道二进制文件中每个指令的实际二进制应该是什么,因为这是给出的。可以在下面看到。我可以看到这两个六角形之间存在某种关系。

Hexdump  Binary                           Hex of Binary
1303d007 00000111110100000000001100010011 7D00313
93033302 00000010001100110000001110010011 2330393
138ec3f9 11111001110000111000111000010011 F9C38E13
1305a000 00000000101000000000010100010011 A00513
73000000 00000000000000000000000001110011 73

我的问题是如何从“hexdump”转换为“Hex of Binary”,或者由于我只提供了一个二进制文件,我该如何处理?

我不希望我的问题太不清楚?

【问题讨论】:

    标签: java hex unsigned signed hexdump


    【解决方案1】:

    都是关于endianness

    每个字节由两个 Hex 字符表示(每个 Hex 为 4 位)。

    您的 hexdump,1303d007 是四个字节 13 03 d0 07

    您的十六进制转二进制7D00313 是相同的四个字节,但格式不同且顺序不同。它是07D00313。为简单起见,07 前面的“0”已被截断,但随后您会注意到顺序 100% 颠倒了。

    字节序告诉您字节在某种形式的传输或存储中出现的顺序。它回答了“最重要的字节是先出现还是最后出现?”的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-30
      • 2023-04-03
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 1970-01-01
      • 2014-06-10
      相关资源
      最近更新 更多