【发布时间】:2015-03-22 01:08:51
【问题描述】:
我正在使用 PyOBEX 在我的计算机 (Windows 7) 和我的手机 (Android) 之间交换二进制文件(例如图像等)。但是,当我使用get() 从手机中获取文件时,它会以str 的形式到达我的计算机。我尝试使用chardet 模块来找出使用什么编码来解码它并最终将其转换为二进制文件,但它返回了None。 type() 说它是str。
代码如下:
import bluetooth
import BTDeviceFinder
import PyOBEX.client
name = "myDevice"
address = BTDeviceFinder.find_by_name(name)
port = BTDeviceFinder.find_port(address)
client = PyOBEX.client.BrowserClient(address, port)
client.connect()
a, b = client.get("pic.jpg")
其中a 是标头(通过OBEX 发送的文件附带),b 是实际的文件对象。 b 看起来像这样:https://drive.google.com/file/d/0By0ywTLTjb3LaFJaM2hWVEdBakE/view?usp=sharing
PyOBEX 文档或 Python 论坛没有说明 get() 使用什么编码。
你知道如何将这个字符串转换成可以和write()一起使用的二进制数据,然后以原始文件格式(即.jpg)保存吗?
【问题讨论】:
标签: python encoding bluetooth get obex