Of course, for UTF-16/UCS-2 encoded files (also common on Windows), wouldn't the compiler need to check for a BOM anyway?