chardet. Под капотом оно анализирует частотность символов и структуру, находя закономерности, которые есть у разных кодировок.Использовать максимально просто:
import chardet
# Пример текста в неизвестной кодировке
text_bytes = "Привет, мир!".encode("windows-1251")
# Определение кодировки
result = chardet.detect(text_bytes)
print(result)
Вывод следующий:
{'encoding': 'windows-1251', 'confidence': 0.99, 'language': 'Russian'}#python