2014-10-02 200 views
1

多年来,至少我听说过,究竟是使用大的还是小的端存在许多争论。但是,我想知道你什么时候看到两者?奇怪的问题,对吧?为什么在WAV文件头中使用小端和大端?

在解码WAV文件时,我注意到标题由不同的段组成,可能是大的或小的。 https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

在这里指定的论坛,它规定了使用小端的文件有很大比例的原因(Why are an integers bytes stored backwards? Does this apply to headers only?
“WAV文件是little-endian的(至少显著字节第一),因为格式起源于在基于英特尔处理器的机器上运行的操作系统,这些机器使用小端格式来存储数字。

但是,我还没有找到为什么使用big-endian?

在此先感谢

+1

FYI,斯坦福页面不再存在。 – 2015-02-09 20:25:13

回答

3

这是一个有点夸张的说大块ID是大端。在实践中,ID是4个字符的ASCII字符串(未终止),例如, 'RIFF''fmt ''data'。如果你限制自己的字符串比较,那么你可以避免需要关注字节顺序。这样,WAVEFORMAT结构通常定义像下面在C:

typedef struct WAVHEADER 
{ 
    char riff[4]; 
    int chunkSize; 
    etc... 
}