Editor 为二进制文件创建编辑器

Editor 为二进制文件创建编辑器,editor,binaryfiles,Editor,Binaryfiles,我有一个非常简单的二进制文件格式,我希望为其创建一个编辑器: 能够加载文件 能够保存文件 允许用户更改各个字段的值等 能够将使用旧版本格式的文件转换为新版本 显然我可以用C#、Python等语言编写这个东西……但是我想知道是否有更简单的选项来创建这样的基本编辑器,它只允许我描述文件的内容和任何条件/验证,无需自己编写所有IO和编辑代码?处理此问题的最简单方法是编写软件,将二进制文件转换为文本文件或从文本文件转换为二进制文件。然后可以使用任何文本编辑器编辑数据。编辑后,运行该工具将其转换回二进

我有一个非常简单的二进制文件格式,我希望为其创建一个编辑器:

  • 能够加载文件
  • 能够保存文件
  • 允许用户更改各个字段的值等
  • 能够将使用旧版本格式的文件转换为新版本

显然我可以用C#、Python等语言编写这个东西……但是我想知道是否有更简单的选项来创建这样的基本编辑器,它只允许我描述文件的内容和任何条件/验证,无需自己编写所有IO和编辑代码?

处理此问题的最简单方法是编写软件,将二进制文件转换为文本文件或从文本文件转换为二进制文件。然后可以使用任何文本编辑器编辑数据。编辑后,运行该工具将其转换回二进制

这也使得在不同版本之间进行转换变得很容易


这种方法的一些问题是浮点数的精度下降,如果二进制文件非常大,执行转换所需的时间,以及人们有时会忘记运行转换工具来更新实际的二进制文件副本的事实。

普通文本编辑器无法做到这一点,因为用户可以在文本编辑器中自由插入或删除字符,这实际上破坏了二进制格式。@Codism:我想你不明白我的意思。我的建议是编写一个从文本转换为二进制的程序。把它想象成一个汇编程序和反汇编程序。在编辑器中插入或删除的任何字符都会由编译器处理,或者程序会发出错误消息并返回修复。您可以在“资源编辑器”中搜索。这些生物的确切功能规格差别很大,但它们都是在一个层次上操作格式化的二进制数据。