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

2 c# string bytearray

我想比较byte []中的前几个字节和一个字符串.我怎样才能做到这一点?

Jef*_*ang 9

您必须知道字节数组的编码才能正确地比较它们.

例如,如果您知道您的字节数组由UTF-8字节组成,那么您可以从字节数组创建一个字符串:

System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
string s = enc.GetString(originalBytes);
Run Code Online (Sandbox Code Playgroud)

现在您可以将字符串s与其他字符串进行比较.

相反,如果您只想比较前几个字节,可以将字符串转换为UTF8字节数组:

System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
byte[] b = enc.GetBytes(originalString);
Run Code Online (Sandbox Code Playgroud)

现在,您可以将字节数组b与其他字节数组进行比较.

还有其他几种ASCII,Unicode等编码对象. 请参阅此处的MSDN页面.