HEX value encoding
At present there are two key data types that are passed over JSON: unformatted byte arrays and quantities. Both are passed with a hex encoding, however with different requirements to formatting: When encoding QUANTITIES (integers, numbers): encode as hex, prefix with “0x”, the most compact representation (slight exception: zero should be represented as “0x0”).Examples:
- 0x41 (65 in decimal)
- 0x400 (1024 in decimal)
- WRONG: 0x (should always have at least one digit - zero is “0x0”)
- WRONG: 0x0400 (no leading zeros allowed)
- WRONG: ff (must be prefixed 0x)
Examples:
- 0x41 (size 1, “A”)
- 0x004200 (size 3, “\0B\0”)
- 0x (size 0, “”)
- WRONG: 0xf0f0f (must be even number of digits)
- WRONG: 004200 (must be prefixed 0x)