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