Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Алекс получил от своего друга Никиты из России электронное письмо
- с вложенным текстовым файлом (не маленьким – точно больше 100Кб)
- и был удивлен его содержимым. Алекс давно знаком с Никитой и знает,
- что текст точно на русском языке, что он все пишет в нижнем регистре,
- и что Никита принципиально не использует никакие кодировки,
- кроме однобайтовых.
- Алекс хотел бы определить, какую кодировку Никита использовал
- (CP866 (DOS), CP1251 (Windows), KOI8R, ISO-8859-5, cp10007(MacOS)),
- и увидеть первые 2048 символов этого файла в кодировке UTF-8.
- Воспользуйтесь имеющимися данными, напишите программу, которая будет
- определять автоматически определять кодировку
- и выводить первые 2048 символов этого файла в кодировке UTF-8.
- """
- #---------------------
- """
- Открыть файл во всех кодировках и подсчитать в каком случае максимально
- число вхождений символа в диапазон а-я
- """
- encs = set(['cp866',
- 'koi8-r',
- 'iso8859_5',
- 'cp1251',
- 'mac_cyrillic'])
- abc = set('абвгдеёжзийклмнопрстуфхцчшщъыьэюя')
- mx = 0
- enc = 'aaa'
- for e in encs:
- with open('text.txt', encoding=e) as f:
- t = 0
- s = f.read(2048)
- for a in s:
- if a in abc:
- t += 1
- if mx < t:
- mx = t
- enc = e
- print(enc)
- with open('text.txt', encoding=enc) as f:
- s = f.read(2048)
- with open('f.txt','w', encoding='utf-8') as fw:
- print(s, file=fw)
- with open('f.txt', encoding='utf-8') as f:
- print(f.read())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement