多年来,或者至少我所听到过的,关于是否使用大端或小端的争论很多。但是,我想知道你什么时候看到两者?奇怪的问题,对吧?
在必须解码WAV文件时,我注意到标题由不同的段组成,可以是大端也可以是小端。 https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
在此处指定的论坛中,它指定了对文件的大部分使用little-endian的原因(Why are an integers bytes stored backwards? Does this apply to headers only?)
'WAV文件是little-endian(最不重要的字节),因为格式源自在基于intel处理器的机器上运行的操作系统,这些机器使用小端格式来存储数字。'
但是,我还没有找到为什么还要使用big-endian?
提前致谢
答案 0 :(得分:4)
说块ID是大端的,这有点过分了。实际上,ID是4个字符的ASCII字符串(未终止的),例如, 'RIFF'
,'fmt '
和'data'
。如果您将自己局限于字符串比较,那么您可以避免需要关注字节顺序。因此,波形结构通常在c:
typedef struct WAVHEADER
{
char riff[4];
int chunkSize;
etc...
}