Я действительно запутался с codecs.open function
. Когда я делаю:
file = codecs.open("temp", "w", "utf-8")
file.write(codecs.BOM_UTF8)
file.close()
Это дает мне ошибку
UnicodeDecodeError: кодек «ascii» не может декодировать байт 0xef в позиции 0: порядковый номер не в диапазоне (128)
Если я сделаю:
file = open("temp", "w")
file.write(codecs.BOM_UTF8)
file.close()
Работает нормально.
Вопрос в том, почему первый метод терпит неудачу? И как мне вставить бом?
Если второй метод является правильным способом, какой смысл использовать codecs.open(filename, "w", "utf-8")
?