I recently rediscovered this strange behaviour in Python’s Unicode handling.—Evan

The crux of my argument is that the spec declares that UTF-16 without a BOM is BE. If the file is encoded in UTF-16LE and it doesn’t have a BOM, it doesn’t deserve to be processed correctly. That being said, treating it as UTF-16BE if it’s LE will result in a lot of invalid code points, so it shouldn’t be non-obvious that something has gone wrong.—Nicholas