Sono davvero confuso con il codecs.open function
. Quando io faccio:
file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
Mi dà l'errore
UnicodeDecodeError: il codec 'ascii' non può decodificare il byte 0xef in posizione 0: ordinale non compreso nell'intervallo (128)
Se lo faccio:
file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
Funziona bene
La domanda è: perché il primo metodo fallisce? E come inserisco la bom?
Se il secondo metodo è il modo corretto di farlo, che senso ha usare codecs.open(filename, "w", "utf-8")
?