gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 04:13:05 26 4
gpt4 key购买 nike

我知道,如果我想出这个,或者如果有人向我展示,那将是一个前额拍打器。在发布任何问题之前,我至少尝试了三个小时并进行了大量搜索。有几个提示很接近,但我采用/尝试过的任何提示似乎都不起作用。

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

如何将 python 整数列表 [1,2,-3,-143....] 转换为可以存储在 MySQL 中的内容?我已经尝试过 bytearray() 和 array.array(),但是当我直接从对象访问列表并尝试转换为字符串以存储在 MySQLdb 中时,它们会阻塞。

非常感谢任何链接或提示。

最佳答案

你可以将它连接成一个字节串(在 python 2.x 下只是一个字符串)。最简单(如果不是最有效的话)的方法就是修改数据,然后转换为字符并加入。像这样的东西:

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

binData = ''.join(map(lambda x: chr(x % 256), attach.attcoll))
sql_stmt = """INSERT INTO attachments (attno,filename,fileextension,projNo,procNo,wpattachment) \
VALUES ('%s','%s','%s','%s','%s','%s') ON DUPLICATE KEY UPDATE filename='%s',fileextension='%s'""" % (attach.attno,\
attach.filename,attach.fileextension,attach.projNo,attach.procNo,binData,attach.filename,attach.fileextension)

try:
cursor.execute(sql_stmt)
conn.commit()
cursor.close()
conn.close()
return 'SUCCESS'
except MySQLdb.Error:
cursor.close()
conn.close()
print "My SQL cursor execute error."
return 'FAILURE'

关于java - 将 Java 字节数组转换为 Python 字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5088671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com