JSON не поддерживает двоичные данные?
Если вы имеете в виду, что у него нет bytes
типа данных, ну кого это волнует? Строки JavaScript могут содержать все возможные символы Юникода, включая управляющие символы:
"string1": "\u0000\u0001\u0002..."
(Не то чтобы они даже действительны в XML.)
Так что вы можете , если вам действительно нужно кодировать байты, просто сопоставьте их непосредственно с символами того же порядкового номера:
"xml": "<el>caf\u00C3\u00A9</el>"
// "café", encoded as a UTF-8 byte sequence read as ISO-8859-1
но на самом деле для XML вам лучше оставить его в Unicode и просто кодировать его в JSON, как и любую другую строку:
"xml": "<el>caf\u00E9</el>"
// or assuming your channel encoding is OK, simply
"xml": "<el>café</el>"