转换和保存的字符串在Python二进制文件(Convert and save string to b

2019-11-03 13:53发布

我使用PyOBEX到我的计算机(Windows 7)和我的手机(安卓)之间交换二进制文件(如图片等)。 然而,当我使用get() ,从我的手机上下载文件时,它到达我的计算机作为对str 。 我尝试使用chardet模块,找出使用何种编码进行解码,并最终把它变成一个二进制文件,但它返回Nonetype()说,这是一个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)?

Answer 1:

在python 2.7串分别表示原始字节(这改变在python 3)

您只需将数据保存到一个二进制文件类型:

with open('file.jpg', 'wb') as handle:
    handle.write(data_string)

这里是一个开放的蟒蛇文档的链接:

https://docs.python.org/2/library/functions.html#open

请注意,“b”表示二进制文件。

再次,这是假设的Python 2.7



文章来源: Convert and save string to binary file in Python