我有第三方方法,其返回对象类型为buffer:
<read-write buffer ptr 0x02CED2E0, size 2556 at 0x02CED2C0>
这应该是二进制数据。如何从缓冲区中读取然后对其进行base64编码?
答案 0 :(得分:2)
可能它是一个带缓冲接口的对象。另请参阅buffer()。
如果您只需要对其进行编码,而无需事先进行任何处理,请参阅base64 module:
import base64
b64encoded_str = base64.b64encode(your_buffer_object)
这应该可以正常工作。
如果由于某种原因这不起作用,那么str
(在Python 2.7中)将buffer
个对象作为输入并转换为str
对象,所以:
import base64
b64encoded_str = base64.b64encode(str(your_buffer_object))
甚至更简单,尽管最后可能会引入换行符'\ n':
b64encoded_str = str(your_buffer_object).encode('base64')
答案 1 :(得分:0)
表示数据类型,没有指定的二进制格式来表示它。这取决于你想要的,
例如,您可以尝试pickle.dump,然后使用base64来编码这个bin数据吗? 或JSON