Есть файл не понятно в какой кодировке, нужно определить кодировку, написал вот такой вариант, но уверен что есть способ определения кодировки на много проще, подскажите.
# какой то файл скачанный с интернета в неизвестной кодировке.
open('test.txt', 'w', encoding='cp500').write('Hello\n')
# сюда можно впихнуть все известные кодировки.
encoding = [
'utf-8',
'cp500',
'utf-16',
'GBK',
'windows-1251',
'ASCII',
'US-ASCII',
'Big5'
]
correct_encoding = ''
for enc in encoding:
try:
open('test.txt', encoding=enc).read()
except (UnicodeDecodeError, LookupError):
pass
else:
correct_encoding = enc
print('Done!')
break
print(correct_encoding)