Browsers do support binary data using typed arrays but for some reason this isn't commonly used yet. Compatibility, maybe?
https://github.com/dcodeIO/ProtoBuf.js/
https://github.com/dcodeIO/ProtoBuf.js/