为什么十六进制编辑器中的44100以十六进制顺序排列?

时间:2011-11-01 20:44:27

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

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

为什么?对于ASCII字符“fmt”,排序很自然。

enter image description here

这是AC44。

enter image description here

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

谢谢!

4 个答案:

答案 0 :(得分:6)

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

WAV format

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

它确实与endian-ness有关。您要写入的数据类型是一个整数,它将存储为多字节块。

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

答案 3 :(得分:1)

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

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