Estoy realmente confundido con el codecs.open function
. Cuando lo hago:
file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
Me da el error
UnicodeDecodeError: el códec 'ascii' no puede decodificar el byte 0xef en la posición 0: el ordinal no está en el rango (128)
Si lo hago:
file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
Funciona bien.
La pregunta es ¿por qué falla el primer método? ¿Y cómo inserto el bom?
Si el segundo método es la forma correcta de hacerlo, ¿cuál es el punto de usar codecs.open(filename, "w", "utf-8")
?