你好我有一段的byte然后我需要查找byte中的3C 2F 68 74 6D 6C 3E 0A 这些十六进制返回最后一个匹配的位置 使用C#有什么办法
可以使用以下代码来查找byte[]中的3C 2F 68 74 6D 6C 3E 0A这些十六进制,并返回最后一个匹配的位置:
byte[] bytes = // your byte array
byte[] pattern = new byte[] { 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x0A };
int lastIndex = -1;
for (int i = 0; i < bytes.Length - pattern.Length + 1; i++)
{
bool match = true;
for (int j = 0; j < pattern.Length; j++)
{
if (bytes[i + j] != pattern[j])
{
match = false;
break;
}
}
if (match)
{
lastIndex = i;
}
}
return lastIndex;
在这个代码中,我们使用了两个嵌套的for循环来遍历byte[],并检查是否存在与pattern匹配的子数组。如果存在,则更新lastIndex的值为当前位置i。最后返回lastIndex的值即可。
原文地址: https://www.cveoy.top/t/topic/JIu 著作权归作者所有。请勿转载和采集!