“chunk”,“block”,“offset”,“buffer”和“sector”是什么意思?

时间:2014-02-25 08:16:43

标签: python buffer block chunks sector

我看过一些处理存档或二进制数据或复制文件(不使用python默认函数)的脚本使用 chunk block 偏移缓冲区扇区

我创建了一个Python应用程序,外部库(归档/提取数据)或二进制文件已经满足了一些要求。我想深入了解一下,通过编写我自己的模块,将这些第三方库功能纳入我的应用程序。现在我想知道这些术语的含义以及我可以从哪里开始。上面的主题是否有任何文件?

任何与Python编程语言相关的文档也将不胜感激。

1 个答案:

答案 0 :(得分:15)

Chunk 用于任何(通常相当大)的数据量,这些数据仍然只是任何整体大小的一部分,例如。 G。文件的前1000个字节。接下来的3000个字节可能是下一个

用于固定数量的数据(通常是技术上确定的),通常只是整体的一部分,例如: G。文件的前1024个字节。然后,下一个块也将是1024字节长。此外,有时并非所有块都被使用; 1034字节文件的第二个和最后一个块仍然是1024字节大,但只有10个字节将被使用。

偏移是位置距离,通常位于某物的开头和感兴趣的位置之间;即G。如果天气数据文件中的第23个字节存储温度,则温度的偏移为23个字节。它也可以是数据位置的 shift ,例如。 G。如果出现问题并且现在文件已损坏,这可能是因为所有字节都向后移动了32个字节(在开头插入32个零或类似之后),然后整个文件都有偏移 32个字节。

缓冲区是一块内存,其中收集内容以便在缓冲区已满(或接近满)时将它们作为一个整体进行处理。一个典型的例子是缓冲输出;这里单个字符缓冲直到一行完成,然后在一次写操作中将整行打印到终端。有时缓冲区有一个固定的大小,有时它们只有一个上限。

扇区就像一个,是整体的固定大小的一部分,但更多地与技术起源相关。在这种情况下,整体通常是一块硬件(如硬盘驱动器或CD),通常扇区包含