I think you need add clause ``` else if (rawData[start + 1] == 0xfe && rawData[start] == 0xff) { // Encoding.Unicode (Little-Endian) return true; } ``` to CheckForByteOrderMark function.