我如何将byte []与字符串进行比较?

时间:2009-07-08 03:27:01

标签: c# string bytearray

我想将byte []中的前几个字节与字符串进行比较。我怎么能这样做?

2 个答案:

答案 0 :(得分: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等编码对象See the MSDN page here.

答案 1 :(得分:1)

使用

byte [] fromString = Encoding.Default.GetBytes("helloworld");