将Python bytestrings序列化为JSON,保留序号字符值

2024-10-01 00:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python(2.x)中的testrings生成了一些二进制数据base-256。我需要将它们读入JavaScript,保留字符串中每个字节(char)的序号值。如果您允许我混合语言,我想用Python对一个字符串s进行编码,以便在我读回JavaScript之后ord(s[i]) == s.charCodeAt(i)。在

最干净的方法似乎是将Python字符串序列化为JSON。然而,json.dump不喜欢我的bytestrings,尽管它在摆弄ensure_asciiencoding参数。有没有一种方法可以将bytestrings编码成Unicode字符串来保留序号字符值?否则,我认为我需要将ASCII范围以上的字符编码成JSON样式的\u1234转义符;但是这样的编解码器似乎不在Python的codecs中。在

有没有一种简单的方法可以通过testrings将Python序列化为JSON,保留char值,还是需要编写自己的编码器?在


Tags: 数据方法字符串json编码base字节序列化
2条回答

Is there a way to encode bytestrings to Unicode strings that preserves ordinal character values?

字节->unicode转换称为decode,而不是encode。但是,是的,使用诸如iso-8859-1这样的编解码器解码确实应该如您所愿“保留序号字符值”。在

你能用Base64吗?(Pythonbase64模块,Javascript有几个实现,其中一个是here

没有理由使用转义ASCII或UTF-8,除非您的数据几乎都是文本。在

相关问题 更多 >