I could solve round tripping (at least a bit) by allowing insert to be run with a flag that says "these columns are base64 encoded, store the decoded data in a BLOB".
That would solve inserting binary data using JSON too.
Originally posted by @simonw in #125 (comment)