将Java字节数组转换为Python字节数组

2024-05-19 11:02:27 发布

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

我知道如果我弄清楚这个或者有人给我看的话,那会是个耳光。在发布任何问题之前,我尝试了至少三个小时,并进行了大量的搜索。有几个提示很接近,但我所采用/尝试的似乎都不管用。在

我从Java获取一个byte[]并通过JSON(使用Gson)传递给pythonjson,使用Flask。这个字节[]在接收时以整数列表的形式存储在python对象中,但现在我需要将其发送到MySQLdb并将其存储为blob。数据内容为二进制文件数据。在

如何将python整数列表[1,2,-3,-143….]转换为可以存储在MySQL中的内容?我试过了数组.array(),但当我直接从对象访问列表并尝试将其转换为字符串以存储through MySQLdb时,这些数据会阻塞。在

任何链接或提示都将不胜感激。在


Tags: 数据对象jsonflask内容列表字节整数
3条回答

我发现在Python2.7.9上,''.join(map(lambda x: chr(x % 256), data))的速度非常慢(大约4分钟),其中对str(bytearray(map(lambda x: chr(x % 256), data)))的一个小改动只需10秒。在

data = [1,2,-3,-143, ...]
binData = bytearray([x % 256 for x in data])

您可以将它连接到一个bytestring(python2.x下的字符串)。如果不是最有效的话,最简单的方法就是修改数据,然后转换成chars和join。比如:

data = [1,2,-3,-143, ...]
binData = ''.join(map(lambda x: chr(x % 256), data))

^{pr2}$

相关问题 更多 >

    热门问题