我需要能够以自定义二进制文件格式存储一些数据。我以前从未设计过自己的文件格式。它需要是一种在 C#、Java 和 Ruby/Perl/Python 世界之间穿梭的友好格式。
首先文件将包含记录。一个 GUID 字段和一个 JSON/YAML/XML 数据包字段。我不确定用什么作为分隔符。逗号、制表符或换行符之类的东西似乎太脆弱了。Excel 是做什么的?还是 XML 之前的 OpenOffice 格式?您应该使用 ASCII 字符 0 还是 1。不知道从哪里开始。有没有关于这个主题的文章或书籍?
此文件格式稍后可能会扩展为包含“标题部分”。
注意:首先我将在 .NET 中工作,但我希望该格式易于移植。
更新:
“数据包”的处理可能很慢,但文件格式内的导航不能。所以我认为 XML 不在讨论范围内。