Некоторое время назад я опубликовал свою
статью о разработке велосипедного велосипеда, в которой описал причины, побудившие меня этим заняться.
Если вкратце, то мне была нужна миниатюрная библиотека для микроконтроллеров с сериализатором двоичных данных и последующей передачей этих сообщений по низко скоростным линиям связи, тогда как обычные форматы xml, json, bson, yaml, protobuf, Thrift, ASN.1 и др. мне по разным причинам не подходили.
Как и ожидалось, решение оказалось более чем велосипедом, и тем не менее, сама публикация статьи на Хабре мне очень сильно помогла. Дело в том, что при первоначальном анализе возможных библиотек, я почему то упустил из вида сериализаторы MessagePack, CBOR и UBJSON.
Ссылки на них мне написали в комменатриях уже после публикации статьи. И я сразу понял, что скорее всего
CBOR,
UBJSON легко решают стоящую передо мной задачу. Причем делают этого гораздо лучше, чем моя собственная разработка.
После этого я прикрутил к библиотеке
CBOR свой интерфейс (чтобы не перелопачивать исходники), и … решил от этого формата отказаться в пользу
MessagePack :-)