无法理解flac帧头格式

问题描述 投票:1回答:1

我正在做一种flac解析器,我需要解析每个帧的标头。 flac格式(https://xiph.org/flac/format.html#frame_header)]中描述了一个字段

if(可变块大小)<8-56>:“ UTF-8”编码的样本编号(解码的数字是36位)[4]否则<8-48>:“ UTF-8”编码帧数字(解码的数字为31位)[4]

[[4]说:

用于样本/帧号的“ UTF-8”编码相同可变长度代码,用于存储压缩的UCS-2,扩展为处理较大的输入。

如果是8-56或8-48位,我绝对不知道如何知道该字段的大小。为什么解码后的数字是36或31位?另外,当我在使用UTF-8编码的十六进制编辑器中打开flac文件时,此字段中没有数字。我将非常感谢您的帮助。

我正在做一种flac解析器,我需要解析每个帧的标头。 if(variable blocksize)<...>

audio frame decode flac
1个回答
0
投票
有一个以flac格式描述的字段(https://xiph.org/flac/format.html#frame_header)

UTF-8编码样本表示第一个字节(帧头的5.字节)包含有效位,这些比特将告诉您帧/样本编号中有多少个后续字节。

您可以在此处检查有效位的格式:https://en.wikipedia.org/wiki/UTF-8

如果数字以48位编码,则如下所示:1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

© www.soinside.com 2019 - 2024. All rights reserved.