0

我正在使用 Blender 将一些自定义属性或信息导出到 Libgdx,我想同时使用文本文件和二进制文件,我知道如何使用 json 模块但我不知道如何导出与 libgdx 中的一个兼容的二进制 json(也是跨平台的),经过一些研究,我发现 struct 和 array 模块对这个 porpuses 有好处,但我无法在 libgdx 中加载,我不是 Python 专家,特别是二进制格式,也在 UBJsonWriter.h 中流地址 https://github.com/libgdx/fbx-conv/tree/master/src/json 有一些预定义的值

#define UBJSON_TYPE_NULL        'Z'
#define UBJSON_TYPE_TRUE        'T'
#define UBJSON_TYPE_FALSE       'F'
#define UBJSON_TYPE_BYTE        'B'
#define UBJSON_TYPE_SHORT       'i'
#define UBJSON_TYPE_INT     'I'
#define UBJSON_TYPE_LONG        'L'
#define UBJSON_TYPE_FLOAT       'd'
#define UBJSON_TYPE_DOUBLE      'D'
#define UBJSON_TYPE_HUGE1       'h'
#define UBJSON_TYPE_HUGE4       'H'
#define UBJSON_TYPE_STRING1     's'
#define UBJSON_TYPE_STRING4     'S'
#define UBJSON_TYPE_NOOP        'N'
#define UBJSON_TYPE_END     'E'

但是用一个简单的

f.write(struct.pack('>c', b"{"))
f.write(struct.pack('>c', b"}"))

像这样没有任何问题,但我不知道,我希望二进制文件在 pc 和 androids 上工作。感谢您的任何指导。

4

1 回答 1

0

与其重新发明轮子,不如使用simpleubjson。与 libgdx 一样,它在 Python 中实现了UBJSON 标准。

如果你好奇它是如何实现二进制格式的,可​​以在 GitHub 上找到源代码供你学习。

于 2013-11-10T07:48:50.157 回答