-1

Ruby経由でサーバーにUDPリクエストを実行します。サーバーの応答は混合コンテンツです。つまり、文字列や数字などを取得します。応答の解釈方法は知っていますが、文字列の長さが異なる可能性があるため、問題が発生しています。すべての文字列はゼロで終了します。

文字列は次のようになります。

[84, 104, 101, 32, 83, 116, 114, 101, 97, 109, 33, 32, 50, 52, 47, 55,
32, 66, 97, 100, 119, 97, 116, 101, 114, 32, 91, 65, 108, 108, 116,
97, 108, 107, 93, 0]

これはUTF8でエンコードされており、の略ですThe Stream! 24/7 Badwater [Alltalk]

すでに述べたように、応答には、上記のような単一の文字列だけでなく、より多くのバイトがあります。すべての固定長コンテンツは、で簡単にフェッチできますがstring.unpack、文字列を抽出する方法はわかりません。バイトストリームを手動で解析する必要がありますか、それとも引き続き使用できる方法がありますstring.unpackか?

編集:

全体の応答は次のようになります:http://paste.org/59395

プロトコルの詳細:http ://tinyurl.com/bvyepsl

4

1 に答える 1

2

ああ、木々の木が見えませんでした、ごめんなさい。

を使用すると、ゼロで終了する文字列を簡単に抽出できます。a_string.unpack("Z*")

于 2012-12-28T19:34:31.990 に答える