【IT168技术文档】
C#查找数组中的十六进制数
byte[] bData = new byte[1024];
FS.Read(bData, 0, bData.Length);
读取文件数据内容到bData比特数组中。
现在,如果想知道,这个bData中,是否存在"0x00,0x16,0x88,0xff,0xff" 16进制数?如何查找,如何比较?
以下是完整代码:
C# code
// 在 s 中查找 pattern 。
// 如果找到,返回 pattern 在 s 中第一次出现的位置(0起始)。
// 如果没找到,返回 -1。
static int IndexOf(byte[] s, byte[] pattern)
{
int slen = s.Length;
int plen = pattern.Length;
for (int i = 0; i <= slen - plen; i++)
{
for (int j = 0; j < plen; j++)
{
if (s[i + j] != pattern[j]) goto next;
}
return i;
next:;
}
return -1;
}