У меня есть некоторые двоичные данные, произведенные как основа 256 строк байтов в Python (2.x). Я должен считать их в JavaScript, сохранив порядковый номер каждого байта (символ) в строке. Если Вы позволите мне смешивать языки, я хочу закодировать строку s
в Python, таким образом, что ord(s[i]) == s.charCodeAt(i)
после того, как я считал его назад в JavaScript.
Самый чистый способ сделать это, кажется, для сериализации моих строк Python к JSON. Однако json.dump
не любит моих строк байтов, несмотря на игру с ensure_ascii
и encoding
параметры. Существует ли способ закодировать строки байтов к строкам Unicode, который сохраняет порядковые символьные значения? Иначе я думаю, что должен закодировать символы выше диапазона ASCII в JSON-стиль \u1234
Escape; но кодек как это, кажется, не среди Python codecs
.
Существует ли простой способ сериализировать строки байтов Python к JSON, сохраняя символьные значения, или я должен записать свой собственный кодер?
Есть ли способ кодировать строки байтов в строки Unicode, который сохраняет порядковые значения символов?
Байт ->
преобразование юникода называется декодировать
, а не кодировать
. Но да, декодирование с помощью кодека, такого как iso-8859-1
, действительно должно «сохранять порядковые значения символов» по вашему желанию.
Не могли бы вы просто использовать Base64? (Модуль Python base64
, Javascript имеет несколько реализаций, одна из которых - здесь .)
Нет причин использовать экранированные ASCII или UTF-8, если только ваши данные не являются почти полностью текстовыми.