Предположим, я читаю файл, содержащий 3 числа, разделенных запятыми.Файл был сохранен с неизвестной кодировкой, пока я имею дело с ANSI и UTF-8.Если файл был в UTF-8 и имел 1 строку со значениями 115,113,12, то:
with open(file) as f:
a,b,c=map(int,f.readline().split(','))
выкинуло бы это:
invalid literal for int() with base 10: '\xef\xbb\xbf115'
Первое число всегда искажено этими'\ xef \ xbb \ xbf' символы.Для остальных 2 чисел конвертация работает нормально.Если я вручную заменю '\ xef \ xbb \ xbf' на '', а затем выполню преобразование int, оно будет работать.
Есть ли лучший способ сделать это для любого типа кодированного файла?