Jestem naprawdę mylony z codecs.open function
. Kiedy robię:
file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
Daje mi to błąd
UnicodeDecodeError: Kodek „ascii” nie może dekodować bajtu 0xef w pozycji 0: porządek poza zakresem (128)
Jeśli zrobię:
file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
To działa dobrze.
Pytanie brzmi, dlaczego pierwsza metoda zawodzi? A jak wstawić BOM?
Jeśli druga metoda jest poprawna, to po co codecs.open(filename, "w", "utf-8")
?