【问题标题】:How to create a new file format?如何创建新的文件格式?
【发布时间】:2021-08-16 18:22:36
【问题描述】:

我必须创建一个包含一些数据的文件格式,并且它将由特定应用程序(大学项目)打开。我有一个空网格。打开文件时,它应该包含要在网格上显示的单元格的数量、形状以及其他详细信息。之后,它应该将特定数字加载到某些特定单元格中,这些单元格也将出现在文件中。如何为此创建文件格式?还是不要创建特殊的文件格式而继续使用现有的文件格式更好?

【问题讨论】:

  • 现有的文件格式当然允许您使用现有的工具来读/写它们。因此,除非有令人信服的理由来定义自己的格式,否则最好使用现有的格式。如果您确实想定义自己的格式,那么您可以根据需要定义它。您尝试了什么,哪些没有按预期工作?

标签: json xml


【解决方案1】:
  • 文件格式只不过是一种先前约定的数据结构。您可以使用任何数据结构(包括纯文本)作为数据格式。
  • 您通常希望您的格式能够处理未来的扩展,因此 JSON、YAML 或 XML 等可扩展格式将是理想的选择。您还可以使用现有库以这些格式读取和写入。
  • 如果您允许用户将二进制媒体添加到您的文件格式中(例如在 Microsoft Word 文档中添加图像),您需要捆绑您的配置(例如 JSON 文件)、媒体(例如 JPG、PNG、MOV、等)和文件夹结构中的其他外部源(例如脚本),并压缩它们(例如 zip、gz、tar)。大多数现代文件格式(包括 Microsoft Word Docx)本质上都是 zip 文件。
  • 您可能想要使用文件扩展名。它不是强制性的,而是习惯性的(通常是 3 个字母)并且具有可用性优势(例如,图标和默认应用程序)。
    • 如果您的自定义文件格式只是 JSON 文件,那么简单地使用 .json 扩展名将是您的最佳选择。
    • 不建议将已建立的文件扩展名重新用于新文件格式。这是您不想使用的文件扩展名的一个很好的列表:https://en.wikipedia.org/wiki/List_of_filename_extensions
  • 考虑通过在配置中添加版本属性来对文件格式进行版本控制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多