Escreva para o arquivo UTF-8 em Python
Estou realmente confuso com ocodecs.open function
. Quando eu faço
file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
Dá-me o erro
UnicodeDecodeError: o codec 'ascii' não pode decodificar o byte 0xef na posição 0: ordinal fora do intervalo (128)
Se eu fizer
file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
Funciona bem
Questã é por que o primeiro método falha? E como insiro o bom?
Se o segundo método for a maneira correta de fazê-lo, qual é o sentido de usarcodecs.open(filename, "w", "utf-8")
?