Niels Lohmann
e94e164b07
Add BON8 support
...
Add to_bon8/from_bon8 and input_format_t::bon8 for BON8, a binary format
that uses the byte values that cannot begin a UTF-8 character as type
markers, so strings need no length prefix. It is the most compact of the
supported binary formats on the benchmark files.
The reader is non-recursive like the other binary readers. A string ends
at the first byte that cannot continue it, so the reader hands the one or
two bytes it reads past a string back to the value that follows. The
writer produces the canonical representation of the specification, except
for NFC normalization; its output is identical to that of the reference
implementation (HikoGUI) on all files of the test data.
The round-trip tests need the .bon8 files of json_test_data 3.2.0.
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2026-09-24 22:53:08 +02:00
..
2022-08-05 19:51:39 +02:00
2026-09-24 06:55:21 +02:00
2026-09-15 20:46:37 +02:00
2026-07-04 11:13:25 +02:00
2026-06-29 22:15:18 +02:00
2025-04-05 18:54:35 +02:00
2026-07-10 16:01:08 +02:00
2022-05-01 09:41:50 +02:00
2026-09-15 20:46:37 +02:00
2025-04-05 18:54:35 +02:00
2026-09-15 20:46:37 +02:00
2022-05-01 09:41:50 +02:00
2022-05-17 13:08:56 +02:00
2022-05-01 09:41:50 +02:00
2025-04-05 18:54:35 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2022-05-17 13:08:56 +02:00
2026-06-29 22:15:18 +02:00
2026-07-26 08:29:31 +00:00
2026-07-04 11:13:25 +02:00
2026-07-04 11:13:25 +02:00
2025-05-04 10:28:24 +02:00
2025-01-17 06:53:35 +01:00
2022-05-01 09:41:50 +02:00
2026-07-04 11:13:25 +02:00
2026-06-30 18:09:06 +02:00
2024-12-09 23:02:30 +01:00
2026-06-29 22:15:18 +02:00
2025-04-05 18:54:35 +02:00
2026-07-09 17:24:19 +02:00
2026-07-12 09:16:06 +02:00
2026-09-24 22:53:08 +02:00
2026-07-12 09:16:06 +02:00
2026-07-12 09:16:06 +02:00
2026-07-12 09:16:06 +02:00
2026-07-12 09:16:06 +02:00
2025-04-05 18:54:35 +02:00
2022-05-17 13:08:56 +02:00
2026-06-29 22:15:18 +02:00
2024-12-09 23:02:30 +01:00
2024-12-06 18:38:25 +01:00
2026-07-04 11:13:25 +02:00
2026-07-09 17:24:19 +02:00
2026-09-24 22:53:08 +02:00
2026-09-24 22:53:08 +02:00
2026-09-22 21:52:31 +02:00
2026-06-29 22:15:18 +02:00
2022-05-01 09:41:50 +02:00
2025-04-05 18:54:35 +02:00
2022-05-01 09:41:50 +02:00
2026-06-29 22:15:18 +02:00
2022-05-01 09:41:50 +02:00
2025-04-05 18:54:35 +02:00
2025-04-05 18:54:35 +02:00
2025-04-05 18:54:35 +02:00
2026-06-29 22:15:18 +02:00
2022-05-01 09:41:50 +02:00
2025-04-05 18:54:35 +02:00
2022-05-01 09:41:50 +02:00
2025-04-05 18:54:35 +02:00
2026-07-10 16:01:08 +02:00
2026-09-15 20:46:37 +02:00
2026-09-15 20:46:37 +02:00
2022-07-29 14:28:37 +02:00
2022-05-01 09:41:50 +02:00
2026-06-29 22:15:18 +02:00
2026-09-15 20:46:37 +02:00
2026-09-15 20:46:37 +02:00
2026-09-15 20:46:37 +02:00
2026-09-15 20:46:37 +02:00
2026-09-15 20:46:37 +02:00
2026-07-04 11:13:25 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2024-07-07 10:22:17 +02:00
2025-04-05 18:54:35 +02:00
2024-07-07 10:22:17 +02:00
2026-07-09 20:57:41 +02:00
2022-08-05 19:51:39 +02:00
2022-05-01 09:41:50 +02:00
2026-07-04 11:13:25 +02:00
2026-07-10 16:01:08 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2026-09-24 22:53:08 +02:00
2026-06-29 22:15:18 +02:00
2026-09-24 06:55:21 +02:00
2026-08-04 08:45:02 +02:00
2026-09-09 09:49:12 +02:00
2026-09-09 09:49:12 +02:00
2026-07-04 11:13:25 +02:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2026-09-24 22:53:08 +02:00
2022-05-01 09:41:50 +02:00
2025-01-17 06:53:35 +01:00
2026-07-09 17:24:19 +02:00
2022-07-29 14:28:37 +02:00
2026-06-29 22:15:18 +02:00
2026-09-15 20:46:37 +02:00
2026-09-13 17:43:59 +02:00
2026-08-25 07:16:10 +01:00
2026-09-24 22:53:08 +02:00
2026-08-28 13:27:18 +01:00
2026-06-29 22:15:18 +02:00
2026-06-29 22:15:18 +02:00
2026-07-04 11:13:25 +02:00
2026-08-25 07:16:10 +01:00
2026-06-29 22:15:18 +02:00
2026-07-09 17:24:19 +02:00
2022-05-01 09:41:50 +02:00
2026-09-15 20:46:37 +02:00
2026-07-04 11:13:25 +02:00
2022-08-05 19:51:39 +02:00
2026-07-10 16:01:08 +02:00