2014-10-02 199 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... 
}