十六进制不是二进制。
在十六进制中,每个字符(使用 ASCII 编码的字节/八位字节)可以表示 16 个值:0-9 和 AF。它需要两个十六进制字符来表示 256 个值。
在“二进制文件”中,每个字节(八位字节)可以表示 256 个值。
现在,使用二进制的意义在于它是“最原始”的格式,不需要以任何方式供人类使用。这大大增加了文件的数据/八位字节比率。
二进制格式有助于“IP”,但这不一定是主要目标。有很多粉丝编写的编辑器工具(如证据所示),以及不时出现的官方工具。
二进制文件结构可以在偏移量中确定,并且可以直接查找,而不是像文本文件那样需要“读取到 X 行和 Y 列”。这使得资源的随机访问更加有效。对于许多 Baulder's Gate 文件,许多文件都是“固定格式”,可以轻松(并且快速)加载到布局相同的内存结构中。(有时堆和其他数据结构将直接编码在二进制文件中。)
二进制文件是数据的不透明结构:它只是结束的手段。里面的信息只为特定场景下的访问而设计。(将此与 JSON 或 SQL 数据库进行比较;前者不是不透明的,因为它是“人类可消费的”,而后者仅公开信息。)
看看不同种类的二进制文件和每个文件提供的服务:音频?图片?路线?实体位置和统计信息?对话?每一个都是根据引擎的特定需求而制作的,虽然有些“可以做不同的”,但如果不需要并且现有工具已经到位:为什么要改变?