latin1 aka ISO-8859-1 - это «ловушка и заблуждение». Декодирование случайного двоичного разбоя с latin1
«работает», потому что кодек latin1
отображает все 256 байтов в Unicodecodepoint.
В этом случае предоставляется информация (1) по-французски (2) "WinEdt.org" (привет, привет, это "Win", как в "Windows").файл может быть закодирован в cp1252
.
>>> guff = open('fr.dic', 'rb').read()
>>> z = guff.decode('latin1')
>>> sum((128 <= ord(c) < 160) for c in z) # count the C1 control characters
141
>>> aliens = set(c for c in z if 128 <= ord(c) < 160)
>>> aliens
set([u'\x9c'])
>>> from unicodedata import name
>>> name(u'\x9c')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: no such name
>>> name('\x9c'.decode('cp1252'))
'LATIN SMALL LIGATURE OE'
QED
Обновление: Вы спрашивали о других файлах на этом сайте.Первое, что нужно сделать, - это (как рекомендует сайт) прочитать файл .TXT, связанный со словарем.Например, в файле .TXT большого русского словаря написано «В словаре используется стандартная русская кодовая страница Windows (1251)».В противном случае попробуйте наиболее подходящие из этого списка:
cp1250 латинские восточноевропейские шрифты, например, польский, чешский, сербский (латинский алфавит)
cp1251 кириллические шрифты, например русский, украинский, сербский (кириллический)скрипт)
cp1252 западноевропейские латинские скрипты, например, немецкий, французский
cp1253 греческий
cp1254 турецкий
cp1255 иврит
cp1256 арабский
cp1257 эстонский, латышский и литовский
cp1258 вьетнамский