1

次の例のような構造で表されるバイナリデータ(C#)をデコードする必要があります。

struct Message
{
    byte id;
    int type;
    bool valid;
}

バイナリデータの例:0x040000000201ここで、id = 4、type = 2、valid = true;

Thrift、Protocol Buffers、またはその他のツールを使用して、同じツールでエンコードされていないバイナリデータをデコードできますか?それをどのように行うかについて、何か推測できますか?

ありがとうございました

4

1 に答える 1

2

いいえ、基本的に。これらは、プラットフォームに依存しない汎用シリアル化ツールとして設計されており、それぞれが事前定義されたプロトコル(/ wire-format)に従います。つまり、標準ユーザーは通常、データがどのように見えるかを知ったり気にしたりする必要はありません。これがツールの仕事です。それを抽象化する。

あなたの場合、ワイヤーフォーマットは事前に定義されており、そのようなツールと似ている可能性は低いです。非常にきめ細かいプロトコルの詳細を指定できる、より具体的なツールが必要になるか、手動でシリアル化/逆シリアル化するコードを作成する必要があります。

最終的には、「JavaScriptSerializerを使用してXMLドキュメントを読み取ることはできますか?」と尋ねるのと同じです。答えは単純です。「いいえ。JavaScriptSerializerはJSONを使用し、XMLの詳細を指定または解釈する機能はありません」。

于 2012-03-09T19:43:10.083 に答える