2

byte[] の最初の数バイトを文字列と比較したい。これどうやってするの?

4

2 に答える 2

9

それらを正しく比較するには、バイト配列のエンコーディングを知っている必要があります。

たとえば、バイト配列が UTF-8 バイトで構成されていることがわかっている場合、バイト配列から文字列を作成できます。

System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
string s = enc.GetString(originalBytes);

これで、文字列 s を他の文字列と比較できます。

逆に、最初の数バイトだけを比較したい場合は、文字列を UTF8 バイト配列に変換できます。

System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
byte[] b = enc.GetBytes(originalString);

これで、バイト配列 b を他のバイト配列と比較できます。

ASCII、Unicode などのエンコード オブジェクトは他にもいくつかあります 。こちらの MSDN ページを参照してください。

于 2009-07-08T03:31:56.307 に答える
1

使用する

byte [] fromString = Encoding.Default.GetBytes("helloworld");
于 2009-07-08T03:39:23.237 に答える