2009-07-08 13 views

答えて

8

適切に比較するには、バイト配列のエンコーディングを知る必要があります。例えば

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

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

今、あなたは他の文字列に文字列sを比較することができます。今、あなたは他のバイト配列にバイト配列bを比較することができ

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

:あなただけの最初の数バイトを比較したい場合は

逆に、あなたがUTF8のバイト配列に文字列を変換することができます。

ASCII、Unicodeのいくつかの他の符号化オブジェクトがありますが、その他See the MSDN page here.

+0

文字列の代わりにバイトを比較する方が効率的ですか? –

+0

+1良い編集;) –

+0

@ジョシュ:あなたは文字列の比較は何だと思いますか?これについて心配しているのはおそらくマイクロ最適化です。 – jason

1

byte [] fromString = Encoding.Default.GetBytes("helloworld"); 
関連する問題