Why not utf-8-sig, though? It handles optional BOMs. Had to fix a script last week that choked on it.
replies(3):
https://docs.python.org/3/library/codecs.html
The codec you're imagining would also make reading a file and writing it back change the file if it contains a BOM.