8

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

4

1 回答 1

19

是的。

如果文件以 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”,并且整数字节顺序以摩托罗拉格式表示。

您引用的 KVR 文章是指作者在大端系统(摩托罗拉 PPC)上错误使用 int*,它将检索字节交换值。在编写跨端代码时,始终需要注意正确处理字节交换。

如果磁盘上文件的第 0 个字节是“R”,第 3 个字节是“F”,则可以确定其余内容将以小端方式存储。

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

于 2009-07-10T19:45:19.657 回答