Tôi thực sự bối rối với codecs.open function
. Khi tôi làm:
file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
Nó cho tôi lỗi
UnicodeDecodeError: 'ascii' codec không thể giải mã byte 0xef ở vị trí 0: thứ tự không nằm trong phạm vi (128)
Nếu tôi làm:
file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
Nó hoạt động tốt.
Câu hỏi là tại sao phương pháp đầu tiên thất bại? Và làm thế nào để tôi chèn bom?
Nếu phương pháp thứ hai là cách làm đúng, thì điểm sử dụng là codecs.open(filename, "w", "utf-8")
gì?