【问题标题】:Why is 44100 in hex in reversed order in hex editor?为什么 44100 在十六进制编辑器中的十六进制顺序相反?
【发布时间】:2011-12-19 20:02:18
【问题描述】:

我通过十六进制编辑器打开了一个波形文件。我尝试了两个十六进制编辑器,都将 44100 以相反的顺序放入十六进制(AC44)中。

这是为什么呢?对于 ASCII 字符,“fmt”,排序是自然的。

这是 AC44。

这是否与 Big-Endian / Little-Endian 有关?但是为什么其他值会以正确的顺序显示呢?

谢谢!

【问题讨论】:

    标签: audio binary hex binary-data hex-editors


    【解决方案1】:

    因为您的十六进制编辑器正在打印从低地址到高地址的十六进制字节,而小端(例如 x86/ia32)机器将多字节实体的低位存储在低地址中。

    如果您想以相反的顺序查看字节,您可以打印从高地址到低地址的内存(但仍然是从左到右),因为在英语国家通常以这种方式打印数字。

    【讨论】:

      【解决方案2】:

      它确实与字节序有关。您正在写入的数据类型是一个整数,它被存储为一个多字节块。

      文本原子看起来没有反转的原因是因为它们是单字节字符的有序列表。

      【讨论】:

        【解决方案3】:

        是的,它以小端格式存储。每个字段的字节序显示here

        请注意,大端和小端是混合的。

        【讨论】:

        【解决方案4】:

        实际上,它取决于架构和/或文件格式,请参见例如here。您可以找到两种情况,一种是高字节先出现,一种是低字节先出现。在您的情况下,它是第一个(称为 litte endian)。

        【讨论】:

          猜你喜欢
          • 2023-03-14
          • 2018-07-26
          • 2016-10-18
          • 2011-12-09
          • 1970-01-01
          • 2011-06-01
          • 2011-11-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多