首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RIFF文件格式: FourCC值和HEX转换

RIFF文件格式: FourCC值和HEX转换
EN

Stack Overflow用户
提问于 2013-04-04 23:00:13
回答 1查看 1.7K关注 0票数 1

上下文:--我正在解析Riff/Wave文件。有文档标识Riff块中的FourCC值。以下是用于wave文件的更重要的块。

两个特定于的块的FourCC ID:

代码语言:javascript
复制
 Chunk ID   "fmt " (0x666D7420)
 Chunk ID   "data" (0x64617461)

因此,这些fmt值应该相等:

代码语言:javascript
复制
 string "fmt "
 Hex "666D7420"
 int "1718449184"

而且,这些数据值应该相等:

代码语言:javascript
复制
 string "data"
 Hex "64617461"
 int "1684108385"

现在,当我在有效的.wav文件中读取时,FourCC fmtChunkID fmt int总是:

代码语言:javascript
复制
 fmt int:
 int "544501094"

data int总是:

代码语言:javascript
复制
 data int:
 int "1635017060"

问题:为什么文档中的十六进制值与我从流返回的int不匹配?我猜我不太明白关于妖术到国际转换的一些东西。

Extra: I在网上找到.wav解析器代码,其可疑fmt值为"1718449184“。但我发现更多的fmt值为"544501094“。最后,搜索谷歌的"1718449184和544501094“,什么都没有。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-04 23:03:49

安迪安。见0x20746d66小数。(0x20746d66是0x666d7420字节的反转。)

在文件格式中,每个字节必须位于正确的位置。如果您随意地在内存中或从内存中读取它们,取决于CPU与文件格式的不同,您可以交换字节顺序。

读一读“大本营”和“小终点”。有些人会详细讨论它,但是它实际上非常容易理解,如果您曾经处理过文件格式、网络流量、与硬件的接口&许多其他地方,那么了解它是很重要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15823189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档