【发布时间】:2009-04-27 19:40:15
【问题描述】:
我需要能够以自定义二进制文件格式存储一些数据。我以前从未设计过自己的文件格式。它需要是一种在 C#、Java 和 Ruby/Perl/Python 世界之间穿梭的友好格式。
从文件开始将包含记录。一个 GUID 字段和一个 JSON/YAML/XML 数据包字段。我不确定用什么作为分隔符。逗号、制表符或换行符之类的东西似乎太脆弱了。 Excel 是做什么的?还是 XML 之前的 OpenOffice 格式?您应该使用 ASCII 字符 0 还是 1。不知道从哪里开始。有没有关于该主题的文章或书籍?
此文件格式稍后可能会扩展为包含“标题部分”。
注意:首先我将在 .NET 中工作,但我希望该格式易于移植。
更新:
“数据包”的处理可能很慢,但文件格式内的导航却不能。所以我认为 XML 是不可能的。
【问题讨论】:
-
重新编辑:这里的用例是什么?在许多情况下,您选择不导航 inin 文件,而是将其反序列化为对象模型,然后在其中工作。还有更多,您不妨使用某种(常见)类型的数据库文件。
-
我应该添加这个文件将是大的序列化。所以我永远不想一次将所有数据都保存在内存中。它可能是 List
序列化的,但我需要一个分隔符,因此我不必一次读取整个列表。
标签: .net file binary file-format binary-data