Details
Description
Currently we encode 'bytes' fields as UTF-8 strings, which is lossy for binary data due to invalid byte sequences! In order to encode binary data in a lossless fashion, we can encode 'bytes' fields in base64.
Note that this is also how proto3 does its encoding (see here), so this would make migration easier as well.