Определить, в какой кодировке текст

durka82

Нужно определить, что случилось с текстом после перекодировок.
Известно, что когда-то это был текст dos (комментарии к коду программы но теперь он так просто не конвертится.
Попробовал несколько прог, в том числе и Штирлиц - не помогло
Вот пример:
ч(r)эрї -?(r)ц_(r)эрї_R ў(r)-(r)Ўў┐
ч(r)эрї ф p ї?ўp
ч(r)эрї ф p ї?ўp
ч(r)эрї э(r)ф_Ўўрї(r)? рЎ<(r) рў? &#9474;р(c)
ч(r)эрї ї? -(r)Ўў&#9488; ЎрЎў?ї<
-рт< э<Ї p <р-<_
Ш э ?ї -  <&#9488;-(r)? фpрц<р_?-р?

Мб как-нибудь можно восстановить?

oleg701

Если Штирлиц не помог,
Значит это полный П.
В свое время тоже пытался нечто подобное сделать.
Не опознаваемый Штирлицем файл не удалось восстановить чем-либо другим.
Судя по всему, где-то отрезалась часть информации.
У меня такая проблема была с почтовым сообщением, и я подозреваю, что там кто-то по дороге обрезал 8-й бит.
Не знаю, бывает ли сейчас такое.

durka82

Не опознаваемый Штирлицем файл
У меня вообще сложилось впечатление, что он некоторые кодировки просто не знает - по крайней мере как-то он не смог перекодировать текст, который я после некоторого перебора перекодировал за одну операцию.
Но тут так не получилось
Еще раньше у него были проблемы, когда присутствовала латинница (мб это кстати как раз из-за попытки просечь отрезание 8-го бита) - сейчас не знаю, не проверял.
что там кто-то по дороге обрезал 8-й бит
Ну по крайней мере эту ситуацию можно определить по тому, что у всех символов сообщения 8-й бит равен 0 - или не все так просто?

kruzer25

Ну по крайней мере эту ситуацию можно определить по тому, что у всех символов сообщения 8-й бит равен 0
Отрезание восьмого бита и обнуление восьмого бита - разные вещи

durka82

После обрезания этот бит случайный что ли?
Или тогда текст считается как упакованный 7-битный?

kruzer25

Вдумайся в смысл слова "отрезать".
Когда ты отрезаешь половину изрисованного листа, это не значит, что эта половина становится белой.

durka82

Ты на пальцах объяснить можешь, что ты имеешь в виду?

kruzer25

Могу.
Берём текст в восьмибитной кодировке, отрезаем каждый восьмой бит.
Получаемтекст, по которому вообще ничего не понять.

Andbar

Почему? Если мы предположим, что большинство символов >127 (русский текст в ascii то останется логически прочекать на глюки вручную. Опять-же, если текст англиский, то тоже всё понятно...
А смешанные тексты не так уж често попадаются.

durka82

Берём текст в восьмибитной кодировке, отрезаем каждый восьмой бит.

Не понимаю, чем это противоречит
Ну по крайней мере эту ситуацию можно определить по тому, что у всех символов сообщения 8-й бит равен 0

wildsoul

отрезанный восьмой бит означает, что теперь объем файла будет на 1/8 меньше! Т.е. теперь на символ будет приходиться 7 бит (а не 8 с последним нулем но т.к. все ридеры считают, что в букве должно быть 8 бит, то получится сдвиг....
Вот картинка, так должно быть понятнее:
*00**0** - нормальный байт
*00**0* - отсутствует 8-ой бит (про это говорит Пенартур)
*00**0*0 - обнуленный 8-ой бит (про это говоришь ты)

durka82

Да я уже оба варианта предложил, но -у они оба не понравились
Так что мб он что-то еще имел в виду...
А теперь скажи, какой вариант происходит в 7-битных почтовых серверах?

kruzer25

Тем, что восьмой бит, например, первого байта (если считать слева направо) - будет совпадать с первым битом исходного второго байта.

vall

это не почтовый сервер, это телеграф какой-то глюкавый получается или радисты пили что-то не-то.
Оставить комментарий
Имя или ник:
Комментарий: