【发布时间】:2009-07-08 03:27:01
【问题描述】:
我想将 byte[] 中的前几个字节与字符串进行比较。我该怎么做?
【问题讨论】:
-
你能举个例子说明你正在尝试做什么吗?
我想将 byte[] 中的前几个字节与字符串进行比较。我该怎么做?
【问题讨论】:
您必须知道字节数组的编码才能正确比较它们。
例如,如果你知道你的字节数组是由 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.
【讨论】:
使用
byte [] fromString = Encoding.Default.GetBytes("helloworld");
【讨论】: