在git上找了许久也没找到好用的protobuf for lua。
于是自己写了lua扩展,编译C++版本的profobuf给Lua调用。
这是protobuf 和 我个人的protobuf-lua所支持的类型。由于lua实现enum并没有必要,因此没有实现这个类型。
protobuf 数据类型 | 描述 | 打包 | C++语言映射 |
bool | 布尔类型 | 1字节 | bool |
double | 64位浮点数 | N | double |
float | 32为浮点数 | N | float |
int32 | 32位整数 | N | int |
uin32 | 无符号32位整数 | N | unsigned int |
int64 | 64位整数 | N | __int64 |
uint64 | 64为无符号整 | N | unsigned __int64 |
sint32 | 32位整数,处理负数效率更高 | N | int32 |
sing64 | 64位整数 处理负数效率更高 | N | __int64 |
fixed32 | 32位无符号整数 | 4 | unsigned int32 |
fixed64 | 64位无符号整数 | 8 | unsigned __int64 |
sfixed32 | 32位整数、能以更高的效率处理负数 | 4 | unsigned int32 |
sfixed64 | 64为整数 | 8 | unsigned __int64 |
string | 只能处理 ASCII字符 | N | std::string |
bytes | 用于处理多字节的语言字符、如中文 | N | std::string |
enum | 可以包含一个用户自定义的枚举类型uint32 | N(uint32) | enum |
message | 可以包含一个用户自定义的消息类型 | N | object of class |
repeated | 数组,可以包含用户自定义消息类型 | N | array |
Lua-protobuf支持类型
protobuf 数据类型 | 描述 | 打包 | lua语言映射 |
bool | 布尔类型 | 1字节 | number |
double | 64位浮点数 | N | number |
float | 32为浮点数 | N | number |
int32 | 32位整数 | N | number |
uin32 | 无符号32位整数 | N | number |
int64 | 64位整数 | N | number |
uint64 | 64为无符号整 | N | number |
sint32 | 32位整数,处理负数效率更高 | N | number |
sing64 | 64位整数 处理负数效率更高 | N | number |
fixed32 | 32位无符号整数 | 4 | number |
fixed64 | 64位无符号整数 | 8 | number |
sfixed32 | 32位整数、能以更高的效率处理负数 | 4 | number |
sfixed64 | 64为整数 | 8 | number |
string | 只能处理 ASCII字符 | N | string |
bytes | 用于处理多字节的语言字符、如中文 | N | string |
enum | 可以包含一个用户自定义的枚举类型uint32 | N(uint32) | 不支持 |
message | 可以包含一个用户自定义的消息类型 | N | table |
repeated | 数组,可以包含用户自定义类型 | N | table |