4

protobuf Python documentationに関数 SerializeAsString がありますが、これが示唆するように、バイナリ データの文字列バージョンが得られます。Python を使用して protobuf データのバイナリ配列をシリアル化および解析する方法はありますか?

protobuf メッセージをバイナリ データとしてファイルに保存する C++ アプリケーションがあります。Python を使用してファイルの読み取りと書き込みを行いたいと考えています。

4

4 に答える 4

8

Python 文字列はバイナリ データを保持できるため、バイナリ データをSerializeAsString返します。

于 2010-01-05T01:13:50.903 に答える
1

文字列は、Python でバイナリ データを表す通常の方法だと思います。あなたは正確に何をしたいですか?

[編集]

struct モジュールを見てください: http://docs.python.org/library/struct.html

于 2009-12-07T11:47:39.257 に答える
0

あなたがしたいことは明らかではありません:

  1. メッセージ全体のシリアル化された形式で何かを行います (SerializeAsString メソッドから)。これで何をしたいのかわからない?
  2. protobuf メッセージ内にバイト文字列をbytes保存します。.proto ファイルで型を使用し、Python では変数としてバイト文字列を使用します。
于 2009-12-07T11:46:26.517 に答える
0

Pythons Strings を使用して、proto バッファーのシリアル化されたデータを取得できます (Python、Java、C++、またはその他の言語でどのように作成されたかは関係ありません)。

これらは、プロト バッファー チュートリアルの Python バージョンからの行です。 address_book.ParseFromString(f.read())

于 2009-12-07T15:45:22.730 に答える