Python을 사용하면 Google Protobuf 메시지의 이진 직렬화를 어떻게 얻습니까?

StackOverflow https://stackoverflow.com/questions/1859438

  •  13-09-2019
  •  | 
  •  

문제

나는 기능이 serializeasstring을 본다 Protobuf Python 문서, 그러나 이와 같이, 이것은 이진 데이터의 문자열 버전을 제공합니다. Python을 사용하여 Protobuf 데이터의 이진 배열을 직렬화하고 구문 분석하는 방법이 있습니까?

Protobuf 메시지를 파일의 이진 데이터로 저장하는 C ++ 응용 프로그램이 있습니다. Python을 사용하여 파일을 읽고 쓰고 싶습니다.

도움이 되었습니까?

해결책

따라서 파이썬 문자열은 이진 데이터를 보유 할 수 있습니다 SerializeAsString 이진 데이터를 반환합니다.

다른 팁

문자열은 파이썬에서 이진 데이터를 나타내는 일반적인 방법이라고 생각합니다. 정확히 무엇을하고 싶습니까?

편집하다

구조물 모듈을 살펴보십시오. http://docs.python.org/library/struct.html

무엇을하고 싶은지 명확하지 않습니다.

  1. 직렬화 된 형태의 전체 메시지 (SerializeAsString 방법에서)로 무언가를하십시오. 이것으로 무엇을하고 싶은지 잘 모르시겠습니까?
  2. Protobuf 메시지 안에 바이트 문자열을 저장하십시오. bytes .proto 파일을 입력하고 변수의 경우 Python의 바이트 문자열을 입력하십시오.

프로토 버퍼 직렬화 된 데이터를 얻기 위해 Pythons 문자열을 사용할 수 있습니다 (Python, Java, C ++ 또는 기타 언어에서 어떻게 상승하는지는 중요하지 않음).

이들은 Pythons 버전의 Proto Buffers 튜토리얼에서 나온 라인입니다.address_book.ParseFromString(f.read())

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top