Have you considered well-tested compression tools?
I know it is tempting to define our own binary syntax but it's far more error-prone than using a matured solution. Another issue is giving up text-based syntax flexibility, expandability and fast and easy debugability. Just speaking from experience, my own and of others (some of which have failed because of that).
I don't know how experienced JL and you are when it comes to software engineering but I strongly advice you to consider different solutions.
NRS already has internal binary format, that was me who added JSON.