The BOM is an invisible marker, two characters 0xFEFF at the beginning of the file.  They are there, trust me, they're just not printable so you can't  see them in the diff.  It's like changing the end-of-line marker between CRLF and LF.