You need to search the UTF-8 string as binary. Something like this (not tested):
byte[] ByteBuffer = File.ReadAllBytes("SomeFilePath");
byte[] StringBytes = Encoding.UTF8.GetBytes("StringToFind");
for (i = 0; i <= (ByteBuffer.Length - StringBytes.Length); i++)
{
if (ByteBuffer[i] == StringBytes[0])
{
for (j = 1; j < StringBytes.Length && ByteBuffer[i + j] == StringBytes[j]; j++) ;
if (j == StringBytes.Length)
Console.WriteLine("String was found at offset {0}", i);
}
}
Please note that this is a case-sensitive search!