python 的struct 处理二进制数据如 c 语言的结构体, 怎么直接将 结构体转换为 struct 是这个项目的目的。
说明
折腾了两天,算是一个小结,目前不支持嵌套结构体,不支持enum和一些复杂的东东。
额,啥,注释也还不支持。
恩恩,这个确实是我懒了,后面有时间再来填上吧。
运行
$ cd src
$ python pystruct.py
大家可以嵌入到项目中,我就没得必要弄一个很好的目录结构了,本身就很简单。
运行实例
struct Header
{
unsigned short id;
char tag[4];
unsigned int version;
unsigned int count;
};
struct Header2
{
unsigned short id;
char tag[4];
unsigned int version;
unsigned int count;
int ab;
int eeee;
};
... ...
"struct": {
"Header": {
"@key": "H4cII",
"@arg": [
"id",
"tag",
"version",
"count"
],
"@arg_k": [
"H",
"4c",
"I",
"I"
]
},
"Header2": {
"@key": "H4cIIii",
"@arg": [
"id",
"tag",
"version",
"count",
"ab",
"eeee"
],
"@arg_k": [
"H",
"4c",
"I",
"I",
"i",
"i"
]
}
}
}
代码
代码我传到 gitee 上,供大家参考 https://gitee.com/hocker/pystruct.git 。
参考