• XSS.stack #1 – первый литературный журнал от юзеров форума

Вытащить строки в неверной кодировкой в новый файл.

Ezios

(L1) cache
Пользователь
Регистрация
14.07.2020
Сообщения
669
Реакции
480
Всем доброго времени суток.

После неудачной работы с текстовым файлом и по-дальшей его обработки, сбилась кодировка в некоторых строчках(видимо после первой обработки).
Задача:
Нужно вытащить подобные строки в отдельный файл и перезаписать исходный ,уже без этих строчек. Если можно приколхозить ,чтобы сразу и перекодировал в понятный текст ,то будет прям шикардос.
Заранее спасибо.
И так вот сам исходный текст
Код:
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падгяф
 
Копипаст не поможет, чтобы что-то сделать нужно иметь оригинальный файл. Хуле толку если я его скопирую с форума в utf8.
 
Копипаст не поможет, чтобы что-то сделать нужно иметь оригинальный файл. Хуле толку если я его скопирую с форума в utf8.
Файл сам в кодировке UTF-8 ,а строки после обработки одной прогой стали WINDOWS-1251 и этого не заметив продолжил дальше мудрить с базой в кодировкой UTF -8 (были добавлены битые строки).
Часть файла тыц (не стоит обращать внимание на декодированный текст).
 
iconv не помог?
Если взять такую команду iconv -f utf-8(или cp1251) -t utf-8 -c ФАЙЛ.txt > НОВЫЙ_ФАЙЛ.txt ,то будет еще хуже . Так как она декодирует весь файл с нужной кодеровке а нужно посрочно искать.
 
Если взять такую команду iconv -f utf-8(или cp1251) -t utf-8 -c ФАЙЛ.txt > НОВЫЙ_ФАЙЛ.txt ,то будет еще хуже . Так как она декодирует весь файл с нужной кодеровке а нужно посрочно искать.
Знатно тебе файл распидорасило. Там мешанина из нескольких кодировок, придется чистить руками http://foxtools.ru/Text
 
Знатно тебе файл распидорасило. Там мешанина из нескольких кодировок, придется чистить руками http://foxtools.ru/Text
да не, там только 2 кодировки (я полагаю)
Можно ли вытащить строки по символам которые присутствуют в WINDOWS-1251 ,тоесть по крякозыбрам)?
 
Знатно тебе файл распидорасило. Там мешанина из нескольких кодировок, придется чистить руками http://foxtools.ru/Text
Если ссылаться на ваш сайт , то нужно выбрать правильно кодировку
Выделение_325.png
ь
 
Если ссылаться на ваш сайт , то нужно выбрать правильно кодировку
Посмотреть вложение 23018ь
Ну так я об этом и говорю, основной массив можно сконвертировать, остальное выбрать руками и goto 1.
 
Ну так я об этом и говорю, основной массив можно сконвертировать, остальное выбрать руками и goto 1.
Да хоть как-то ,чтобы привести в порядок)
Только если можно сразу с очисткой спарсенных строк)
 
Да хоть как-то ,чтобы привести в порядок)
Только если можно сразу с очисткой спарсенных строк)
Забиваешь содержимое файла в этот сервис, копипастишь результат в файл. Затем регэкспом чекаешь типа 0000[а-я], если совпадение есть - в файл с чистыми, не - в файл с кривыми.
 
Забиваешь содержимое файла в этот сервис, копипастишь результат в файл. Затем регэкспом чекаешь типа 0000[а-я], если совпадение есть - в файл с чистыми, не - в файл с кривыми.
Не думаю что сервис не упадет от копипаста в него строк с файла в 5 гб.
Нужно как-то облегчить мою учать) ,да и выискивать каждую строку мне чет не особо хочется.
 
Не думаю что сервис не упадет от копипаста в него строк с файла в 5 гб.
Нужно как-то облегчить мою учать) ,да и выискивать каждую строку мне чет не особо хочется.
Отправляй кусками http://api.foxtools.ru/v2/Help/TextDecoder
 
Файл сам в кодировке UTF-8
Это не UTF-8, это смешанная кодировка внутри исходника и сохранение в единой кодировке, в виду чего часть символов отображаются неверно (искажены), но реверс возможен с правилами замены.
Как-то так
Код:
00дигриз
00дима
00димон
00дмитриева
00дарья
00даlа
00дукТ
00дюдюlа
00АЛЕНА
00кира
00конт
00коlка))
00клубнивика
00катя
00кузякотик
00кусочек
00ксюlенька
00кристина
00кёха
00игорь
00иванов
00игра
00илья
00ирина
00ираорлова
00иЫиук
00ноль
00носок
00огдl
00огого
00надюlа
00надя
00неважно
00назира
00олеся
00настенька
00настя
00нетпароля
00натаlа
00отсаси
00вика
00викая
00викуся
00гизи
00вита
00витя
00вова
00ввмм
00ведун
00галян
00веталь
00вуиlд
00всенахуй
00гуля
00гурон
00гриlа
00грамм
00вЫср
00вЁта
00гЫяут
00пдlсрlТтеы
00поволоца
00помидор
00падгяТ
 
Это не UTF-8, это смешанная кодировка внутри исходника и сохранение в единой кодировке, в виду чего часть символов отображаются неверно (искажены), но реверс возможен с правилами замены.
Как-то так
Код:
00дигриз
00дима
00димон
00дмитриева
00дарья
00даlа
00дукТ
00дюдюlа
00АЛЕНА
00кира
00конт
00коlка))
00клубнивика
00катя
00кузякотик
00кусочек
00ксюlенька
00кристина
00кёха
00игорь
00иванов
00игра
00илья
00ирина
00ираорлова
00иЫиук
00ноль
00носок
00огдl
00огого
00надюlа
00надя
00неважно
00назира
00олеся
00настенька
00настя
00нетпароля
00натаlа
00отсаси
00вика
00викая
00викуся
00гизи
00вита
00витя
00вова
00ввмм
00ведун
00галян
00веталь
00вуиlд
00всенахуй
00гуля
00гурон
00гриlа
00грамм
00вЫср
00вЁта
00гЫяут
00пдlсрlТтеы
00поволоца
00помидор
00падгяТ
Как автоматизировать все это ?В скриптах я не силен вообще.
 
https://dropmefiles.com/3onPr не открывается, поэтому вслепую. а corax красавчик

Python 3.x+

Python:
#!/usr/bin/env python3
import sys


def main():
    if len(sys.argv) == 1:
        print('python3 xss52329.py input.txt output.txt')
        return

    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:
                print(
                    line.rstrip('\r\n').encode('windows-1251').decode('utf-8')
                )
        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 in f_in:
                f_out.write(
                    line_in.encode('windows-1251').decode('utf-8')
                )

if __name__ == '__main__':
    main()

Сохраняешь в файл xss52329.py, вызываешь python3 xss52329.py <путь к входящему файлу> <путь к исходящему файлу>
Если исходящий файл не укажешь - будет срать на экран

Если не работает - смотришь, какая ошибка, пробуешь на небольшом файле (10-50 строк сойдёт), играешься с комбинациями кодировок ну или пришли текстовый файл еще на нормальный обменник
 
Последнее редактирование:
Как автоматизировать все это ?В скриптах я не силен вообще.
Бля.. Откуда вы такие беретесь?
Есть плагин под Notepad++
Есть простая тулза Штирлиц 4 крайняя версия 2001 года, там и сайта уже давно нет, гуглите
 
В Notepad++
  • Открываешь новый файл
  • Кодировки → Кодировки → Кириллица → Windows-1251
  • Вставляешь свои кракозябры
  • Сохраняешь
  • Открываешь еще раз
  • Профит!
Далее можно через то же меню Преобразовать в UTF-8
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх