gpt4 book ai didi

python - 有效地将 ctypes LP_c_ubyte 转换为 python 'str'

转载 作者:行者123 更新时间:2023-11-28 22:04:28 28 4
gpt4 key购买 nike

我在使用 ctypes 绑定(bind)时遇到问题,ctypes 文档让我有点头疼。

我有一个发送二进制数据的远程网络客户端,我正在使用的库(Mosquitto,用于 MQTT 消息代理)提供了一个 ctypes 方法来从网络获取原始二进制数据。这是一个“LP_c_ubyte”类型。有什么有效的方法可以将其转换回 python“str”对象吗?

我需要一组常规字节用于 M2Crypto 的解密功能。​​

pp = ''.join(chr(msg.payload[i]) for i in xrange(msg.payloadlen)) 
clear_text = rsa.private_decrypt(pp, M2Crypto.RSA.pkcs1_padding)

这行得通,但是很丑。

我可以将客户端更改为先对所有内容进行 base64 编码,然后在这一端取消 base64,但这似乎也是一种解决方法。

有没有更好的方法?

最佳答案

我认为这应该做你想做的:

import ctypes
pp = ctypes.string_at(msg.payload, msg.payloadlen)

关于python - 有效地将 ctypes LP_c_ubyte 转换为 python 'str',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7082788/

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