Gists don't let me upload binary files directly. To get the output.bin binary file, run:
echo "0x03 0x01 0x01 0x66 0x6f 0x6f 0xfa 0x01" | xxd -r > output.bin| 0x03 => Size of the array (3) | |
| 0x01 => Boolean "true" | |
| 0x01 => Size of the string minus minimum plus 1 (3 = 3 - 3 + 1) | |
| 0x66 0x6f 0x6f => String "foo" | |
| 0xfa 0x01 => Base-128 variable-length unsigned integer 1000, as (1000 / 4) - ceil(-2 / 4) | |
| Reduction from 17 bytes in minified form to 8 bytes (~53%) |
| [ true, "foo", 1000 ] |
| { | |
| "$schema": "https://www.jsonbinpack.org/schemas/encoding/v1.json", | |
| "name": "BOUNDED_8BITS_TYPED_ARRAY", | |
| "options": { | |
| "minimum": 0, | |
| "maximum": 10, | |
| "encoding": { | |
| "name": "FLOOR_MULTIPLE_ENUM_VARINT", | |
| "options": { | |
| "minimum": -2, | |
| "multiplier": 4 | |
| } | |
| }, | |
| "prefixEncodings": [ | |
| { | |
| "name": "BYTE_CHOICE_INDEX", | |
| "options": { | |
| "choices": [ false, true ] | |
| } | |
| }, | |
| { | |
| "name": "FLOOR_VARINT_PREFIX_UTF8_STRING_SHARED", | |
| "options": { | |
| "minimum": 3 | |
| } | |
| } | |
| ] | |
| } | |
| } |
| 0x03 0x01 0x01 0x66 0x6f 0x6f 0xfa 0x01 |
| { | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "array", | |
| "maxItems": 10, | |
| "items": { | |
| "type": "integer", | |
| "minimum": -2, | |
| "multipleOf": 4 | |
| }, | |
| "prefixItems": [ | |
| { "type": "boolean" }, | |
| { | |
| "type": "string", | |
| "minLength": 3 | |
| } | |
| ] | |
| } |
| [ | |
| { "type": "start", "path": "/", "offset": 0 }, | |
| { "type": "start", "path": "/options/prefixEncodings/0", "offset": 1 }, | |
| { "type": "end", "path": "/options/prefixEncodings/0", "offset": 1 }, | |
| { "type": "start", "path": "/options/prefixEncodings/1", "offset": 2 }, | |
| { "type": "end", "path": "/options/prefixEncodings/1", "offset": 5 }, | |
| { "type": "start", "path": "/options/encoding", "offset": 6 }, | |
| { "type": "end", "path": "/options/encoding", "offset": 7 }, | |
| { "type": "end", "path": "/", "offset": 7 } | |
| ] |