XBin Format Reference
The XBin (XINA Binary) format provides a XINA standard binary format for mnemonic data source files. It uses the file extension xbin
.
UUID
The file starts with a 16 byte binary encoded UUID.
Header
This is followed by a 4 byte unsigned integer denoting the byte length of the header, which contains a single JSON object with UTF-8 encoding. The value may be 0, indicating no header is present.
Header Definition
Key | Value | Description |
---|---|---|
mnemonics |
JSON array of string(s) |
list of mnemonic text values |
Rows
Each row starts with an 8 byte signed integer containing Unix time with microsecond precision. This is followed by a 4 byte unsigned integer denoting the length of the row in bytes.
Values
Each value starts with a 1 byte unsigned integer indicating the value reference type.
Value Reference Definition
Code | Value | Description |
---|---|---|
0 |
mnemonic reference | followed by 4 byte integer, lookup string by index from mnemonics in header |
1 |
mnemonic ID | followed by 4 byte integer, literal mnemonic ID |
This is followed by a 1 byte unsigned integer indicating the value type.
Value Type Definition
Code | Value | Description |
---|---|---|
0 |
null |
literal null / empty string |
1 |
1 byte signed integer | |
2 |
2 byte signed integer | |
3 |
4 byte signed integer | |
4 |
8 byte signed integer | |
5 |
4 byte floating point | |
6 |
8 byte floating point | |
7 |
string | followed by 2 byte integer string length n , then n bytes UTF-8 encoded string |