Zserio Types Mapping
This document contains mapping tables from zserio types to supported programming language types.
Currently supported code generators and runtimes are:
- Java
- C++
- Python
Base Types
Zserio type | Java type | C++ type | Python type |
---|---|---|---|
uint8 | short |
uint8_t |
int |
uint16 | int |
uint16_t |
int |
uint32 | long |
uint32_t |
int |
uint64 | java.math.BigInteger |
uint64_t |
int |
int8 | byte |
int8_t |
int |
int16 | short |
int16_t |
int |
int32 | int |
int32_t |
int |
int64 | long |
int64_t |
int |
bit:1…bit:7 | byte |
uint8_t |
int |
bit:8 | short |
uint8_t |
int |
bit:9…bit:15 | short |
uint16_t |
int |
bit:16 | int |
uint16_t |
int |
bit:17…bit:31 | int |
uint32_t |
int |
bit:32 | long |
uint32_t |
int |
bit:33…bit:63 | long |
uint64_t |
int |
bit:64 | java.math.BigInteger |
uint64_t |
int |
int:1…int:8 | byte |
int8_t |
int |
int:9…int:16 | short |
int16_t |
int |
int:17…int:32 | int |
int32_t |
int |
int:33…int:64 | long |
int64_t |
int |
float16 | float |
float |
float |
float32 | float |
float |
float |
float64 | double |
double |
float |
varint16 | short |
int16_t |
int |
varint32 | int |
int32_t |
int |
varint64 | long |
int64_t |
int |
varint | long |
int64_t |
int |
varuint16 | short |
uint16_t |
int |
varuint32 | int |
uint32_t |
int |
varuint64 | long |
uint64_t |
int |
varuint | java.math.BigInteger |
uint64_t |
int |
varsize | int |
uint32_t |
int |
bool | boolean |
bool |
bool |
string | String |
std::string |
string |
extern | zserio.runtime.io.BitBuffer |
zserio::BitBuffer |
zserio.BitBuffer |
bytes | byte[] |
std::vector<uint8_t> |
bytearray |
Array Types
Java uses native arrays.
C++ uses STL vector.
Python uses native arrays.