Спасибо, опечаталсяТолько не 1252, а windows-1251, иначе это не кириллица
Спасибо, опечаталсяТолько не 1252, а windows-1251, иначе это не кириллица
Скажите, вот зачем вы умничаете, если в принципе не понимаете сути проблемы?В Notepad++
Далее можно через то же меню Преобразовать в UTF-8
- Открываешь новый файл
- Кодировки → Кодировки → Кириллица → Windows-1251
- Вставляешь свои кракозябры
- Сохраняешь
- Открываешь еще раз
- Профит!
Скажите, вот зачем вы умничаете, если в принципе не понимаете сути проблемы?
Если кодировка не подходит, значит ее нужно изменить. Перечитайте в чем дело и не умничайте, я вас прошу. Иногда лучше почитать, чем написать ))
И ты меня будешь учить как общаться?Бля.. Откуда вы такие беретесь?
ANSI - ^.*[^\u0000-\u007F].*$
RU - ^.*[а-яА-я].*$
и т.д.
import requests
result = []
file_path = input('path to file: ')
with open(fr'{file_path}', 'rb') as fh:
for line in fh.readlines():
try:
result.append(line.decode('utf-8').encode('cp1251').decode('utf-8').strip().replace('\n', ''))
except UnicodeDecodeError:
result.append(line.decode().replace('\n', ''))
except UnicodeEncodeError:
res = requests.get(url=f'http://api.foxtools.ru/v2/TextDecoder.txt?cp=UTF-8&lang=RU&text={line.decode("utf-8")}&from=1251&to=utf-8')
result.append(res.text.strip().replace('\n', ''))
for word in result:
print(word)
Спасибо ,буду пробовать.Бля.. Откуда вы такие беретесь?
Есть плагин под Notepad++
Есть простая тулза Штирлиц 4 крайняя версия 2001 года, там и сайта уже давно нет, гуглите![]()
GitHub - shtirlitz-dev/notepadpp-plugin: shtirllitz plugin for notepad++
shtirllitz plugin for notepad++. Contribute to shtirlitz-dev/notepadpp-plugin development by creating an account on GitHub.github.com
![]()
Штирлиц (программа) — Википедия
ru.wikipedia.org
Смысл не в том ,чтобы открыть и потом выискивать ручками в файле(5гб есть и на 18 гб) в котором триллиард строк ,а чтобы меньше действий.В Notepad++
Далее можно через то же меню Преобразовать в UTF-8
- Открываешь новый файл
- Кодировки → Кодировки → Кириллица → Windows-1251
- Вставляешь свои кракозябры
- Сохраняешь
- Открываешь еще раз
- Профит!
import sys
def main():
if len(sys.argv) == 1:
print('python3 xss52329.py input.txt output.txt')
IN_FILE_PATH = sys.argv[1]
OUT_FILE_PATH = sys.argv[2] if len(sys.argv) > 2 else None
if OUT_FILE_PATH is None:
with open(IN_FILE_PATH, 'r', encoding='utf-8') as f:
for line in f:
try:
new_line = line.encode('windows-1251').decode('utf-8')
except UnicodeError:
new_line = line
print(
line.rstrip('\r\n').encode('windows-1251').decode('utf-8')
)
print(new_line.rstrip('\r\n'))
return
with open(IN_FILE_PATH, 'r', encoding='utf-8') as f_in:
with open(OUT_FILE_PATH, 'w', encoding='utf-8') as f_out:
for line in f_in:
try:
new_line = line.encode('windows-1251').decode('utf-8')
except UnicodeError:
new_line = line
f_out.write(new_line)
if __name__ == '__main__':
main()
Везде крилилица и она в windows-1251В некоторых словах я так и не понял что за кодировка.
С таким объёмами Notepad++ не справится, тогда EmEditor.Спас
Спасибо ,буду пробовать.
Смысл не в том ,чтобы открыть и потом выискивать ручками в файле(5гб есть и на 18 гб) в котором триллиард строк ,а чтобы меньше действий.
Решил пробнуть плагин для Notepad++ так нотпад орет, что файл большой .
Вот почему я задался этим вопросом в теме по питону ,что помогут "выцепить" кривые строки,а не разбивать строки мудрить опять же искать ручками строки кривые.
Сейчас проверю.Во, всё, скачался файл с примером, теперь понятно.
Поправил, но всё равно говнокод, дальше лень допиливать:
Python:import sys def main(): if len(sys.argv) == 1: print('python3 xss52329.py input.txt output.txt') IN_FILE_PATH = sys.argv[1] OUT_FILE_PATH = sys.argv[2] if len(sys.argv) > 2 else None if OUT_FILE_PATH is None: with open(IN_FILE_PATH, 'r', encoding='utf-8') as f: for line in f: try: new_line = line.encode('windows-1251').decode('utf-8') except UnicodeError: new_line = line print( line.rstrip('\r\n').encode('windows-1251').decode('utf-8') ) print(new_line.rstrip('\r\n')) return with open(IN_FILE_PATH, 'r', encoding='utf-8') as f_in: with open(OUT_FILE_PATH, 'w', encoding='utf-8') as f_out: for line in f_in: try: new_line = line.encode('windows-1251').decode('utf-8') except UnicodeError: new_line = line f_out.write(new_line) if __name__ == '__main__': main()
00дигриз
00дима
00димон
00дмитриева
00дарья
00даша
00дукф
00дюдюша
00АЛЕНА
00кира
00конт
00кошка))
00клубнивика
00катя
00кузякотик
00кусочек
00ксюшенька
00кристина
00кёха
00игорь
00иванов
00игра
00илья
00ирина
00ираорлова
00ищиук
00ноль
00носок
00огдш
00огого
00надюша
00надя
00неважно
00назира
00олеся
00настенька
00настя
00нетпароля
00наташа
00отсаси
00вика
00викая
00викуся
00гизи
00вита
00витя
00вова
00ввмм
00ведун
00галян
00веталь
00вуишд
00всенахуй
00гуля
00гурон
00гриша
00грамм
00вщср
00віта
00гщяут
00пдшсршфтеы
00поволоца
00помидор
00падгяф
Почти все отрабатывает скрипт, в нескольких строках кракозябры, там где пробел в исходникеВо, всё, скачался файл с примером, теперь понятно.
Поправил, но всё равно говнокод, дальше лень допиливать:
Python:import sys def main(): if len(sys.argv) == 1: print('python3 xss52329.py input.txt output.txt') IN_FILE_PATH = sys.argv[1] OUT_FILE_PATH = sys.argv[2] if len(sys.argv) > 2 else None if OUT_FILE_PATH is None: with open(IN_FILE_PATH, 'r', encoding='utf-8') as f: for line in f: try: new_line = line.encode('windows-1251').decode('utf-8') except UnicodeError: new_line = line print( line.rstrip('\r\n').encode('windows-1251').decode('utf-8') ) print(new_line.rstrip('\r\n')) return with open(IN_FILE_PATH, 'r', encoding='utf-8') as f_in: with open(OUT_FILE_PATH, 'w', encoding='utf-8') as f_out: for line in f_in: try: new_line = line.encode('windows-1251').decode('utf-8') except UnicodeError: new_line = line f_out.write(new_line) if __name__ == '__main__': main()
Да скрипт отрабатывает неплохо .Почти все отрабатывает скрипт, в нескольких строках кракозябры, там где пробел в исходнике
нашел что еще не декодировалВо, всё, скачался файл с примером, теперь понятно.
Поправил, но всё равно говнокод, дальше лень допиливать:
Python:import sys def main(): if len(sys.argv) == 1: print('python3 xss52329.py input.txt output.txt') IN_FILE_PATH = sys.argv[1] OUT_FILE_PATH = sys.argv[2] if len(sys.argv) > 2 else None if OUT_FILE_PATH is None: with open(IN_FILE_PATH, 'r', encoding='utf-8') as f: for line in f: try: new_line = line.encode('windows-1251').decode('utf-8') except UnicodeError: new_line = line print( line.rstrip('\r\n').encode('windows-1251').decode('utf-8') ) print(new_line.rstrip('\r\n')) return with open(IN_FILE_PATH, 'r', encoding='utf-8') as f_in: with open(OUT_FILE_PATH, 'w', encoding='utf-8') as f_out: for line in f_in: try: new_line = line.encode('windows-1251').decode('utf-8') except UnicodeError: new_line = line f_out.write(new_line) if __name__ == '__main__': main()
0ïåðåäîç
0ìàëàäåö
0îâè÷îê
0îêòÿáðÿ
0Íîâûéïàðîëü
0꯱
0передоз
0маладец
0овичок
0октября
0Новыйпароль
0НШ±
Да там примерно до 300 Мб он открывает, если строка длинная то с таймингом отображения. Ну тогда сплитовать файлы, хотя это не решение.Решил пробнуть плагин для Notepad++ так нотпад орет, что файл большой .
Вот почему я задался этим вопросом в теме по питону ,что помогут "выцепить" кривые строки,а не разбивать строки мудрить опять же искать ручками строки кривые.
4 версия не захотела открывать , долго муторно набирала обороты по 1 мб (следил в диспетчере) бросил .Штирлиц я не использую, но он откроет и большой файл.
Ну это понятно , юзал прогу для разбивки и она что-то начудила (она заточена под работу с базами combo) Вот и напортачила с кириллицей.лучше быть внимательней в исходниках.
file_read = 'source.txt'
file_seave = 'result.txt'
fr = open(file_read, 'r', encoding='utf-8')
fw = open(file_seave, 'a+')
for line in fr:
res = line.encode('windows-1251').decode('utf-8')
print(f'{line}\t{res}')
fw.write(line + '\n')
fw.flush()
if re.match('[А-я]', res)
Гурончик, ну ты ж старый кодер, ну кто за тебя будет файлики закрывать?Тысячекратно извиняюсь за говнокоды, но это же слишком просто.
Если нужна проверка то перед записью стоит впихнуть регуляркуPython:file_read = 'source.txt' file_seave = 'result.txt' fr = open(file_read, 'r', encoding='utf-8') fw = open(file_seave, 'a+') for line in fr: res = line.encode('windows-1251').decode('utf-8') print(f'{line}\t{res}') fw.write(line + '\n') fw.flush()
Python:if re.match('[А-я]', res)![]()
Я просто неуч, а надо закрывать файлы с флагом "только для чтения"?кто за тебя будет файлики закрывать?
сейчас проверю.Гурончик, ну ты ж старый кодер, ну кто за тебя будет файлики закрывать?
Пацики по этому и пишут через with.
В остальном ты классный парень![]()