Важно отметить, что отсутствует формат файла «Юникод». Юникод может быть закодирован в байтах несколькими различными способами. Чаще всего UTF-8 или UTF-16. Вам нужно будет знать, какой из этих инструментов выдает сторонний инструмент. Если вы знаете, что преобразование между различными кодировками довольно просто:
in_file = open("myfile.txt", "rb")
out_file = open("mynewfile.txt", "wb")
in_byte_string = in_file.read()
unicode_string = bytestring.decode('UTF-16')
out_byte_string = unicode_string.encode('ASCII')
out_file.write(out_byte_string)
out_file.close()
Как отмечалось в других ответах, вы, вероятно, захотите указать обработчик ошибок для метода кодирования. Использовать 'replace' в качестве обработчика ошибок очень просто, но он искажает ваш текст, если он содержит символы, которые нельзя представить в ASCII.