Java GZip压缩MBDF文件后解压出现差异问题求助
关于MBDF二进制格式及GZip压缩后解压差异的问题
开发背景与MBDF格式说明
经过一周的开发工作,我设计了一套名为**MBDF(Minimal Binary Database Format)**的二进制文件格式,以及配套的Java读取器。这个格式支持8种核心数据类型:
- Integer:采用可变存储空间存储
- Float-32
- Float-64
- String:基于UTF-16格式
- Boolean
- Null
- Array:功能类似Java中的
ArrayList<Object> - Compound:键值对结构
遇到的异常问题
在测试过程中,我发现当未启用压缩功能时,文件的读写、解析都完全正常;但一旦使用GZip压缩后,将文件压缩再解压,会出现细微的数据差异。
这次测试使用的是包含嵌套Compound、Array的复杂结构数据,其中Compound内的xml键是至关重要的核心数据。
相关代码片段
生成测试文件的代码如下:
MBDFFile.writeMBDFToFile( "/Users/<anonymous>/Documents/Java/MBDF/resources/file.mbdf", b.makeMBDF(false) );
注:变量b是预先填充好测试数据的MBDFBinary对象。
内容的提问来源于stack exchange,提问作者Samū
相关产品推荐
相关产品推荐

