RIFF WAV文件中是否保证格式参数的字节顺序?

Nic*_*unt 8 audio wav endianness

RIFF WAV文件中是否保证格式参数的字节顺序?我听到了相互矛盾的答案,包括对RIFX文件格式的引用.

Dav*_*ble 18

是.

如果文件以RIFF开头,那么它就是小端.如果它以FFIR或RIFX开头,则可能不是.通常,支持WAV格式意味着支持RIFF文件,尽管添加RIFX支持并不困难.

BWF(广播波形格式)的AES31规范引用了RIFF的这一规范:http://www.tactilemedia.com/info/MCI_Control_Info.html

由此:

RIFF有一个对应的RIFX,用于定义使用Motorola整数字节排序格式而不是Intel格式的RIFF文件格式.RIFX文件与RIFF文件相同,只是前四个字节是'RIFX'而不是'RIFF',整数字节排序以Motorola格式表示.

您引用的KVR文章是指作者在big-endian系统(Motorola PPC)上对int*的错误使用,它将检索字节交换的值.在编写跨端代码时,始终需要小心处理字节交换.

如果磁盘上文件的第0个字节为"R",第3个为"F",则可以确定其余内容将以little endian存储.

RIFX没有被广泛使用.大多数big-endian RIFF实现将字节交换到磁盘,并生成正确的RIFF文件.