1

データパケットを作成してソケットに書き込みたい。
このパケットは 'C0' 16 進値で始まります。
PHP では、次のコードで簡単に作成できます。

$a = "\xC0";  

今度はC#で作成したいと思います。どうすればこれを行うことができますか?

4

2 に答える 2

7

C#では、文字列はUnicodeでエンコードされているため、バイナリデータには使用しないでください。代わりに、バイト配列を使用してください。

C0で始まるバイト配列を作成するには、次のようにします。

byte[] packet = new byte[] { 0xC0, /* Other values */ };

送信する既存の文字列がある場合は、それを使用Encoding.ASCIIして必要なバイトに変換できます。

于 2012-06-28T13:01:32.053 に答える
1

バイトを送信する場合は、次のように簡単です。

byte a = 0xC0;

パケットにテキストが含まれている場合は、文字列を開始できます。

string a = "\xC0";

文字列リテラルの詳細については、http://msdn.microsoft.com/en-us/library/aa691090(v = vs.71).aspxを参照してください。

于 2012-06-28T13:01:45.193 に答える