gpt4 book ai didi

java - 是否有任何用于二进制文件解析的 Java 框架?

转载 作者:太空狗 更新时间:2023-10-29 22:43:46 25 4
gpt4 key购买 nike

我的问题是,我想用一个用 JAVA 实现的通用解析器来解析不同类型的二进制文件。也许使用解析器读取的配置文件来描述文件格式,或者创建根据某种解析规则解析文件的 Java 类。

我在互联网上搜索了很多,但几乎找不到任何关于这个主题的内容。

我发现的只是处理编译器生成器(Jay、Cojen 等)的东西,但我不认为我可以使用它们来生成用于解析二进制文件的东西。但我的假设可能是错误的。

是否有任何框架专门处理二进制文件的简单解析,或者任何人都可以提示我如何使用解析器/编译器生成器来执行此操作?

更新:我正在寻找可以编写配置文件的东西,例如

file:
header: FIXED("MAGIC")
body: content(10)

content:
value1: BYTE
value2: LONG
value3: STRING(10)

它会自动生成一些东西来解析以“MAGIC”开头的文件,然后是内容包的十倍(它本身由一个字节、一个长字符串和一个 10 字节的字符串组成)。

更新 2:我找到了与我正在寻找的东西相当的东西,“Construct”,但遗憾的是这是一个 Python 框架。也许这可以帮助某人了解我正在寻找的东西。

最佳答案

使用 Preon :

public class File {

@BoundString(match="MAGIC")
private String header;

@BoundList(size="10", type=Body.class)
private List<Body> body;

private static class Body {

@Bound
byte value1;

@Bound
long value2;

@BoundString(size="10")
String value3;

}


}

解码数据:

Codec<File> codec = Codecs.create(File.class);
File file = codecs.decode(codec, buffer);

如果您遇到问题,请告诉我。

关于java - 是否有任何用于二进制文件解析的 Java 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com