上下文: 我正在解析 Riff/Wave 文件。有文档标识 Riff 块中的 FourCC 值。以下是波形文件更重要的块。
两个 .wav 特定块的 FourCC ID:
Chunk ID "fmt " (0x666D7420)
Chunk ID "data" (0x64617461)
因此,这些 fmt 值应该相等:
string "fmt "
Hex "666D7420"
int "1718449184"
并且,这些数据值应该相等:
string "data"
Hex "64617461"
int "1684108385"
现在,当我读入有效的 .wav 文件时,FourCC fmtChunkID fmt int总是:
fmt int:
int "544501094"
并且数据int始终是:
data int:
int "1635017060"
问题: 为什么记录的 Hex 值与我从流中返回的 int 不匹配?我猜我不了解十六进制到整数的转换。
额外: 我在网上找到了具有可疑 fmt 值“1718449184”的 .wav 解析器代码。但我发现更多 fmt 值“544501094”。最后,谷歌搜索“1718449184 AND 544501094”;没有。
感谢您的帮助。