0

程序员什么时候应该使用.bin文件?(实际例子)。

在一个文件中保存不同的数据类型是否流行(或被接受)?

当迭代文件中的数据(具有多种数据类型)时,程序必须知道每种数据类型的确切长度,我发现这是有限制的。

4

3 回答 3

2

如果您的意思是一些理想化的通用应用程序数据,通常首选文本文件,因为它们为用户提供透明度,并且还可能更容易(例如)将数据移动到不同的应用程序并避免锁定。

二进制文件主要用于性能和紧凑性的原因,将事物编码为文本在这两个部门(今天,可能主要是大小)中都有不小的开销,这有时是令人望而却步的。

于 2012-08-29T08:37:09.103 回答
1

每当需要紧凑性或读/写速度时,都会使用二进制文件。

这两个要求密切相关,显然读写小文件速度很快,但二进制 I/O 速度快还有另一个重要原因:当记录具有固定长度时,会随机访问文件中的记录更容易和更快。

例如,假设您想在文件的记录中进行二进制搜索(当然,它们必须进行排序),而不是将整个文件加载到内存中(可能是因为文件太大以至于它没有) t 适合 RAM)。只有当您知道如何计算两条记录之间“中点”的偏移量时,才能有效地完成此操作,而不必解析文件的任意大部分来找出记录的开始或结束位置。

(如评论中所述,随机访问也可以通过文本文件实现;只是通常更难实现且速度较慢。)

于 2012-08-29T08:47:00.197 回答
1

我认为当嵌入式开发人员看到“.bin”文件时,它通常是 ELF 等的扁平版本,旨在作为处理器的固件进行编程。例如,将 Linux 内核放入闪存(取决于您的引导加载程序)。

作为是否使用二进制文件的一般做法,您会看到这样做的原因有很多。文本需要解析,这可能是一个很大的开销。但是,如果它打算供用户使用,那么二进制是一种糟糕的格式,而文本确实很出色。

二进制最好的地方是性能。您可以将其映射到内存中,并利用该结构来加快访问速度。有时,您会有两个二进制文件,一个包含数据,一个包含元数据,可用于帮助搜索大量数据。例如,Git 就是这样做的。它定义了一种索引格式、一种包格式和一种对象格式,它们一起工作以保存项目的历史记录,这是一种易于访问但紧凑的方式。

于 2012-08-29T09:21:25.967 回答