Byte-level EF BB BF detection; adding BOM prepends those bytes when encoded.
EF BB BF marks UTF-8 BOM; some Windows tools expect it.
BOM after UTF-8 encode: No BOM
Leading bytes (hex): e4 bd a0 e5 a5 bd 20 77 6f 72 6c 64
Adding a BOM changes hashes and some protocols.