有人可以向我解释这个 Chunk Size 值吗
Can someone explain to me this Chunk Size value
所以我有一个包含 110528 字节的 wave 文件,我将这个 wave 文件转换为 hex :
byte[] myWaveFile = System.IO.File.ReadAllBytes(Server.MapPath("/") + "/Funny.wav");
string myHexFile = ToHex(myWaveFile, 0, myWaveFile.Length);
// myHexFile = "52494646B8AF0100......";
wave 文件的第一部分是 Chunk ID,即:"52494646" = "RIFF"
但我的第二部分是 "B8AF0100" ,它基本上是以字节为单位的块大小。
这个值"B8AF0100"如何等于wave文件的大小?我将此值转换为整数,它给我:3098476800,与 110528 无关!
The default byte ordering assumed for WAVE data files is little-endian. Files written using the big-endian byte ordering scheme have the identifier RIFX instead of RIFF.
组成块大小的四个字节是B8
、AF
、01
和00
。由于您的文件具有标识符 RIFF
它是小端。这意味着最低有效字节在前。因此,块大小不是 B8AF0100
(十六进制),而是 0001AFB8
。计算结果为 110520,比文件大小小 8 个字节。
所以我有一个包含 110528 字节的 wave 文件,我将这个 wave 文件转换为 hex :
byte[] myWaveFile = System.IO.File.ReadAllBytes(Server.MapPath("/") + "/Funny.wav");
string myHexFile = ToHex(myWaveFile, 0, myWaveFile.Length);
// myHexFile = "52494646B8AF0100......";
wave 文件的第一部分是 Chunk ID,即:"52494646" = "RIFF" 但我的第二部分是 "B8AF0100" ,它基本上是以字节为单位的块大小。
这个值"B8AF0100"如何等于wave文件的大小?我将此值转换为整数,它给我:3098476800,与 110528 无关!
The default byte ordering assumed for WAVE data files is little-endian. Files written using the big-endian byte ordering scheme have the identifier RIFX instead of RIFF.
组成块大小的四个字节是B8
、AF
、01
和00
。由于您的文件具有标识符 RIFF
它是小端。这意味着最低有效字节在前。因此,块大小不是 B8AF0100
(十六进制),而是 0001AFB8
。计算结果为 110520,比文件大小小 8 个字节。