Я действительно смущен с 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")
?