这不是答案,只是建议您接下来可以探索什么。
该文件似乎是一个简单的块序列,如下所示:
+00000 [4 bytes] block tag/id
+00004 [4 bytes] block length
+00008 [length ] block data
+00008+length [4 bytes] next block tag/id
...
所以在你的文件中:
00000000 33 44 4a 56 00 00 00 0a 00 09 00 00 00 30 11 f9 |3DJV.........0..|
00000010 19 6d 50 52 50 54 00 00 00 09 00 00 00 00 00 00 |.mPRPT..........|
00000020 00 00 00 50 52 45 46 00 00 00 3f 09 53 61 6e 73 |...PREF...?.Sans|
00000030 53 65 72 69 66 00 00 00 00 00 00 00 0c 09 53 61 |Serif.........Sa|
00000040 6e 73 53 65 72 69 66 00 00 00 00 00 00 00 06 40 |nsSerif........@|
00000050 00 00 00 16 41 41 4d 42 20 32 30 31 38 20 2d 20 |....AAMB 2018 - |
00000060 41 72 65 74 68 61 20 2d 20 32 50 52 46 32 00 00 |Aretha - 2PRF2..|
00000070 00 13 00 78 07 42 10 00 00 01 00 0c 00 06 04 ff |...x.B..........|
00000080 ff 00 ff ff 00 47 52 49 44 00 00 05 25 00 56 08 |.....GRID...%.V.|
00000090 56 45 52 53 20 30 20 30 44 54 49 54 4c 20 2f 55 |VERS 0 0DTITL /U|
...
你得到这些块:
00000000 block "3DJV", length 0x0000000a (10) bytes
00000012 block "PRPT", length 0x00000009 (9) bytes
00000023 block "PREF", length 0x0000003f (63) bytes
0000006a block "PRF2", length 0x00000013 (19) bytes
...
随着您继续解析文件,您可能会发现更多有趣的块,可能与您感兴趣的数据相关。
现在您可以做的是创建最简单的文件并保存它。然后在 GUI 中只修改一个坐标,保存它并与第一个文件进行比较。用另一种方式修改坐标并进行比较。由于文件看起来相当简单,可能文件中只有一个浮点数发生变化,您就可以识别坐标格式。
另一种方法是反编译 Java 代码。它可以让您深入了解每个块的含义以及数据的存储方式。您还可以查看导入了哪些 3rd 方 Java 类和包,如果您可以直接使用它们,甚至可以找到在线文档,它可能会简化您的生活。
其他可能性是询问 Pyware 作者他们是否有格式或 SDK 的文档。如果 Pyware 允许您以支持良好或开放的格式保存或导出文件,您应该能够轻松导入。