I don’t like JSON, or YAML. Moving on.
Actually I’ve been exploring binary interchange formats. I am not the first to note that converting data from binary, to text, and back, is often suboptimal, especially for the not-uncommon use case of floating point numbers. With some projects I’ve been working with there is a lot of interchange with delimited files (CSV, TSV, PSV) and JSON. These suffer from the creation of the text stream only to have it parsed back into binary formats. These formats can be useful because they are human readable so being able to inspect them is helpful in a development stage but for interchange they are suboptimal.
Here are some alternatives I’ve been investigating: