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 回答