On 06/05/2018 02:58 PM, Richard W.M. Jones wrote:
Binary blobs can always be base64 encoded for representation within
a valid JSON UTF-8 string (and we already have several QMP
interfaces that utilize base64 encoding to pass through what is
otherwise invalid UTF-8).  It does inflate things slightly compared
to a format that allows a raw length coupled with raw data, but that
is not necessarily a problem.

Of course how we represent them externally and/or while
using QMP / qemu-img to store and retrieve them is up for grabs.
Doesn't JSON allow binary to be encoded?  (Knowing how poorly
done JSON is, I wouldn't be surprised if not)

JSON itself does not have a binary primitive; to pass arbitrary data through JSON you have to first encode that data into something like base64 that can then be represented as a UTF-8 string. For reference, look at qapi/crypto.json and the definition of QCryptoSecretFormat.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to