在Kaitai Struct中完成我的第一步,我一直在努力做BSON解析器作为练习。 解析BSON元素的我的.ksy代码现在看起来像这样: 你可能已经注意到,有很多重复。 一只是去复制if块每次一个想要做额外的元素类型。 更糟糕的是,你基本上必须在每个这样的领域重复3次,即: ...
在Kaitai Struct中完成我的第一步,我一直在努力做BSON解析器作为练习。 解析BSON元素的我的.ksy代码现在看起来像这样: 你可能已经注意到,有很多重复。 一只是去复制if块每次一个想要做额外的元素类型。 更糟糕的是,你基本上必须在每个这样的领域重复3次,即: ...
背景 我正在尝试使用preon库对二进制数据进行编码/解码。 当我为大字节序配置字节顺序时,我的1字节结构工作正常,但对于小字节序则失败。 看来字节序会影响preon中的字节内数据。 看来这个问题触及相同的问题,但是并不能解决小端序方面。 我已附上一个简单的案例来说明这个问题 ...
我想知道是否有一种方法可以对Preon的单个类使用多个@ImportStatic注释? 我试过了: 这些都不是有效的... 我有一个规范,要求我查看外部(父)类的枚举值(classA),如果它匹配特定值,那么我还必须对父级其他对象之一的枚举值进行枚举检查( classB),然 ...
我尝试使用Preon解码的二进制流的值由5个非连续的半字节组成,例如: 十六进制数据:00A00000F200EE0000 考虑到必须将非零标记的半字节中的值提取到AF2EE中,可以使用Preon吗? 如果是这样,请您提供任何提示吗? PS:零仅是示例,它们不代表选择要提取的 ...
我正在使用Preon绑定读取输入的二进制数据流。 我们遇到的问题是某些字段值需要一些简单的算术才能正确表示,就像我们的“数据文档”所述: 字段lat:设备坐标中的纬度分量。 二进制格式的纬度必须除以1.000.000 视场方向:设备的方位角(度数除以3) Pre ...
我刚刚开始使用Preon从无线电中解码配置数据(频道号,频率,模式,频道名称等)。 不同的无线电具有不同的无线电格式,通常根本不同。 Preon似乎是完美的解决方案。 及其可扩展性。 一个无线电将频率数据存储在BCD中(频率的8位数字存储在4个字节中)。 所以我认为我需要在Preo ...
我正在尝试安装preon并在IntelliJ中运行它。 我已经从https://github.com/preon/preon下载了源代码。 然后,我使用IntelliJ打开项目。 然后,我下载pecia并将其作为模块导入到preon项目中。 然后我尝试在... preon ...
我正在尝试使用从github(v 1.1)编译的preon来解析从嵌入式C ++应用程序获得的消息。 我在项目中包含了3.3版完整版本。 我将以下类定义为网络消息的头: MessageType枚举如下: 我尝试将接收到的网络缓冲区强制转换为以下内容: 我收到以下ant ...
我有一对要相互依赖的二进制文件进行解析。 我正在使用Preon库。 这些文件分别命名为rec.table和rec.offset。 一个是相对于另一个的偏移量索引(rec.offset文件的32位整数行,表示rec.table中的字节偏移量)。 rec.offset中的行数取决于rec ...
我正在使用Preon在字节数组中编码枚举字段。 第一个字节(example-byte:0xf7 = 1111 01 11)的字段设置如下: 解码工作正常,因此我希望将解码后的对象编码回字节数组,将产生与开始时相同的字节数组。 但是,事实并非如此。 而是将第一个字节中的位编码如下 ...
根据http://www.scribd.com/doc/8128172/Preon-Introduction的介绍 ,Preon可以用于将位解码为枚举表示形式,如下所示: // Reads a bit from the buffer, and interprets it as an enum ...
我正在使用Preon开发用于Eclipse的共享对象编辑器/查看器。 编辑器看起来像: 为了改进它,我想实现一个功能,一旦在顶部面板上选择了一个条目,它将在底部面板上突出显示相应的字节。 要做到这一点,用Preon撤消对象的给定字段的大小和偏移量将对谁引起极大的兴趣。 我该如何 ...
我需要读取一个二进制文件,其中字节数组的大小取决于可选值以及常数。 如何使用Preon实现此目的? 看来字节数组大小的计算不能是有条件的,即。 size =“ adaptationFieldControl == 0b10 || AdaptFieldField == 0b11?184-a ...
我正在尝试使用Java读取文件头,我想获取文件类型(图像,音频等等)。 我尝试了许多示例,但似乎没有任何效果。 我尝试了preon,但没有运气,有人可以告诉我如何使用preon或其他一些Java API读取文件头,谢谢... ...
我正在尝试使用preon解析mysql结果包。 数据包看起来像这样: nn xx yy yy yy zz zz zz 我像这样解析它 我尝试使用@BoundObject注释,如下所示: 它适用于OkResponsePayload和ErrorResponsePaylo ...
Preon是一个 Java 库,用于创建二进制编解码器:您只需将注释放在类的数据成员中,了解它们与位字段的对应关系(例如,用于某个字段的位数),并且基于此类 class,该库构建一个编解码器object 能够创建 class 的实例,从二进制输入 stream 读取其数据。 由于许可问题(它在 ...
我试图在Android 2.1上运行一个示例Preon应用程序而没有运气。 我想知道在Android上运行Preon应用程序是否可行。 使得Preon框架Dalvik友好有多难? Preon是一个Java库,用于以声明方式构建用于比特流压缩数据的编解码器。 想想JAXB或Hibern ...
您将如何解析可变长度的字节序列,其中第一位(BigEndian)指示是否使用Preon跟随了另一个字节? 例 笔记 第一位表示下一个在最终有效负载中被丢弃 用于这篇文章的Preon版本是1.1 结果字节 (十进制) {114,63,63,63,80} ...
大家好:)我目前正在使用preon进行业余时间项目,并且遇到了以下问题:我正在尝试使用以下代码读取固定长度的String: 文件规范要求使用变量填充,以便下一个块的偏移量是4的倍数。例如,如果string_size = 5,则将添加3个空字节,依此类推。 我最初以为@ByteAlign ...
我想将Preon用于与用C编写的服务器进行通信的项目。该协议取决于计算机的本机耐久性(您可以在JVM具有相同的假设的情况下使用此java.nio.ByteOrder.getNative()进行求解。 endianess作为服务器),并将uint64_t用于数据长度,将int32_t用于状态代码( ...