내 컴퓨터 (Windows 7)와 휴대 전화 (Android)간에 바이너리 파일 (예 : 이미지 등)을 교환하는 데 PyOBEX를 사용하고 있습니다. 그러나 get()
을 사용하여 휴대 전화에서 파일을 가져 오는 경우 내 컴퓨터에 str
으로 도착합니다. chardet
모듈을 사용하여 디코드에 사용할 인코딩을 확인하고 결국 이진 파일로 바꿨지 만 None
을 반환했습니다. type()
은 str
이라고 말합니다. a
는 헤더와 b
(즉, OBEX를 통해 전송 파일과 함께 제공)입니다파이썬에서 문자열을 이진 파일로 변환하고 저장하십시오.
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")
실제 파일 객체입니다
코드는 다음과 같다. b
은 다음과 같습니다. https://drive.google.com/file/d/0By0ywTLTjb3LaFJaM2hWVEdBakE/view?usp=sharing
PyOBEX 문서 또는 Python 포럼에서는 get()
과 함께 사용되는 인코딩에 대해 언급하지 않습니다.
이 문자열을 write()
과 함께 사용할 수있는 이진 데이터로 변환 한 다음 원래 파일 형식 (예 : .jpg)으로 저장하는 방법을 알고 계십니까? 여기
with open('file.jpg', 'wb') as handle:
handle.write(data_string)
파이썬 문서에 대한 링크입니다 :