Files
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

1.3 KiB

*[ADL]: Argument-dependent lookup *[API]: Application Programming Interfaces *[ASCII]: American Standard Code for Information Interchange *[BDFL]: Benevolent Dictator for Life *[BJData]: Binary JData *[BON8]: Binary Object Notation 8 *[BSON]: Binary JSON *[CBOR]: Concise Binary Object Representation *[CC0]: Creative Commons Zero *[CI]: Continuous Integration *[DOM]: Document Object Model *[EOF]: End of File *[FAQ]: Frequently Asked Questions *[GCC]: GNU Compiler Collection *[HTTP]: Hypertext Transfer Protocol *[ICC]: Intel C++ Compiler *[IEEE]: Institute of Electrical and Electronics Engineers *[ISO]: International Organization for Standardization *[JSON]: JavaScript Object Notation *[MIT]: Massachusetts Institute of Technology *[MSVC]: Microsoft Visual C++ *[MsgPack]: MessagePack *[NASA]: National Aeronautics and Space Administration *[NDK]: Native Development Kit *[NaN]: Not a Number *[RFC]: Request for Comments *[RTTI]: Runtime Type Information *[SAX]: Simple API for XML *[SDK]: Software Development Kit *[SFINAE]: Substitution failure is not an error *[SHA]: Secure Hash Algorithm *[SPDX]: Software Package Data Exchange *[STL]: Standard Template Library *[UBJSON]: Universal Binary JSON *[UTF]: Unicode Transformation Format