基于块的格式的定义

时间:2015-08-11 12:34:02

标签: c file file-format chunked-encoding

我已经从维基百科(Chunk based formats)读到了基于块的数据格式是什么,但有一些问题要澄清关于"标题" (非数据)部分文件存在。

我可以想到两种方法,一种是有一个标题,用于描述每个块的存在位置,另一种是从维基百科中获取的信息可以通过

来实现。
  

某种类型的起始和结束标记,某处显式长度字段,或文件格式定义的固定要求

这可能都存在于标题中。如:

标题

Number of entries: 2
Byte of each element: 1

数据

'H''E'

其次是数据,每个数据的长度为n个字节,并且有多个条目。

我可以看到这是一个优势,因为标题可以让您立即访问您想要的任何元素。然而,缺点是每个块都不是独立的。

可以采用的第二种方法是使MAIN标题包含一些但不是全部信息,每个组块本身都包含一个(标题,数据)对,使其自包含。

基于ID的可变块 - 最小标头

Number of offsets (each are 64 bits wide)
Offset of chunk ID 1
Offset of chunk ID 2
Offset of chunk ID 3
(Note: if chunk ID 1 contains more mini-chunks then this is not noted here)

Element
chunk ID 1
Number of elements
Number of bytes per element
....Data....

Element
chunk ID 2
Number of elements
Number of bytes per element
....Data....

字节数也可以在读取格式的程序中编码,而不是基于ID的文件格式。这将只需要ID和元素的数量,这也可以使结构递归或分层,因为每个元素可以是可变大小,具体取决于它自己的标题所说的。

是什么让它基于块?

0 个答案:

没有答案