Обновить

Комментарии 65

Исходник в .docx: здесь.

image

:)
Забавно, что даже между разными *nix нет договоренности по поводу кодировки русских букв в zip:

Это скорее проблема реализации разных стандартов zip. Полноценная поддержка Unicode появилась там где-то с версии 6.1
Zip-архивы такого вида правильно распаковывает виндовый 7z, запущенный под wine. Не спрашивайте, как я это узнал.
PeaZip
kde-шный Ark тоже без проблемм работает с такими архивами;)
far2l это умеет. Это потребовало некоторых усилий, но да, у нас получилось. В хабростатье по ссылке есть подробности.
Виндовый 7z, запущенный под wine, делает очень простую штуку — выбирает OEM-кодировку для архива по системной локали. Но для этого не нужен целый вайн. Вот табличка, вытащенная прямо из его исходников:
github.com/unxed/oemcp/blob/master/oemcp.txt
А вот скрипт, показывающий, как правильно пользоваться этой табличкой, если вы — автор [раз]архиватора:
github.com/unxed/oemcp/blob/master/ziplist
А вот патчик к p7zip, реализующий эту логику, который не хотят принимать в Дебиан пока, увы:
bugs.debian.org/cgi-bin/bugreport.cgi?bug=965126
А вот .deb с p7zip, собранным с этим патчиком, для тех, кто задолбался ждать, пока его примут в Дебиан (amd64):
github.com/unxed/oemcp/blob/master/p7zip-oemcp.deb

продублирую здесь, авось кому поможет.

погуглил таки. добавили в 2006 году
https://pkwaredownloads.blob.core.windows.net/pkware-general/Documentation/APPNOTE-6.3.0.TXT

If general purpose bit 11 is unset, the file name and comment should conform to the original ZIP character encoding. If general purpose bit 11 is set, the filename and comment must support The Unicode Standard, Version 4.1.0 or greater using the character encoding form defined by the UTF-8 storage specification. The Unicode Standard is published by the The Unicode Consortium (www.unicode.org). UTF-8 encoded data stored within ZIP files is expected to not include a byte order mark (BOM).

и оказывается что кодировка должна быть cp437, но в действительности бралась та что имелась, уп-с…

Versions of the format prior to 6.3.0 did not support storing file names in Unicode. According to the standard, file names should be stored in the CP437 encoding, which is standard for the IBM PC, but in practice, DOS archivers used the system’s installed character encoding.

local/unzip-natspec 6.0-1
Unpacks .zip archives with non-latin filenames, using libnatspec patch from AltLinux.
НЛО прилетело и опубликовало эту надпись здесь
Если это скриншот из Ubuntu, можно подключить PPA с пропатченными пакетами.
Да, это Ubuntu, и про решение я знаю. Ставил систему недавно (на днях), в связи с уходящим на покой жёстким диском, так что полностью еще не настроил. Просто совпало так — открыл ссылку, и тут имя файла прямо в тему :)
Мне еще нравится этот декодер
Теперь буду обновлять…
Кстати, недавно обнаружил в нем неприятную особенность. Когда прогонял через него html-страницы, то заметил, что он к ним добавляет свои секции скриптов и разметки. Был неприятно удивлен.
Ну, есть аналоги, тысячи их
Ага. Вот, например, некий Petko Yotov из Франции сделал аналог (для кириллицы).
Штирлиц вам поможет.
Не спортивно
В печать и на стену.
«Вперемешку P и C» — это UTF-8 -> Win1251
Аналогично
CP866 -> Win1252 = UTF-8 -> Win1252
Да, извиняюсь, ошибся.

Спасибо. Fixed.
Спасибо. Наказал вас по всей строгости закона (+ в карму, пост, в избранное, даже распечатал схему).

П.С. Это был я, тот загадочный пользователь, который написал просьб.
�믮������ ����஥��� ������ �஥�� � ࠧ�襭�� ����������ᨬ��⥩ ����� ��ꥪ⠬�…


Jenkins рисует такое… когда есть время, пытаюсь найти цепочку кодировок:) пока безуспешно.
Это русский текст? Можно прибегнуть к криптоанализу :)
Да, русский. Как я понял, что-то из cp866 консоли, перегнанное джавой (куда?) судя по настройкам в UTF-8:)
Извините, это не байткод случаем? Тоже пару раз открыл .class файл в текстовом редакторе :)
Нет, это какое-то сообщение на русском из cmd команды для msbuld-а:)
Просто очень похоже. Открывал классы скомпилированные в текстовом редакторе и такие же крякозябры былию Один в один. :)
Google Translate:
襭 — Carry with the front of a robe
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Это-то ладно, фигня. Какой-нибудь enconv довольно сносно справляется. Вот когда два раза перекодировано — вот это ребус.
попробуйте enca
enca и encov — это одно и то же. enconv это просто алиас для вызова enca с опцией конвертации, без которой он просто определяет кодировку файла.
может попробовать частотный анализ?
image
меня всерьез начинает бесит ограничение только на один плюс в карму одному и тому же автору
Труд эпохальный.
не такой уж эпохальный, в вики есть статья
вы минуснули?
Бывает, что по каким-то причинам было применено несколько последовательных конверсий. Например, где-то тупой конвертер неправильно распознал входную кодировку и применил свое преобразование. Тогда, чтобы восстановить сообщение, нужно вначале применить преобразование обратное неправильному, а потом правильное.

А если этих ошибочных преобразований было применено несколько… Тогда диаграмма должна распухнуть экспоненциально по их числу.
На это есть TCode.exe и Shtirlitz.exe
До трёх перекодировок в разумное время вытягивают. Пять перекодировок уже обычно нереально, потому, что наверняка куча битов посыпалась и восстановить невозможно в принципе.
НЛО прилетело и опубликовало эту надпись здесь
Вы правы, декодер говорит UTF8 -> iso8859-1
¶g^ЛЅVa6$•§Ј  єКВ`ЊЛе,°тV–еrй­«тЦ є Euд§юдЧT QЬКЌЋЛ^nЯM‰'Ю "‰Ћ –qпј l”{ ЂЮё‹+'JыP©ьЌrбuЄ”еюм°љ»Ў¦Р®ТйЬэ“ЪЧ8!mm К!Ь6„ќn7E.$°љR0ЇЈbс`–Љvb<п«FQ©­’ЏЃxђИDыo©жBЩэ:Љyir2ѕ‘¦ыk l, ћчХ`О¬ ,U_HзџewћЏL°ќH$ Ў†,oB±Е95:i|®R4Bпo8‹ћ)O#lЮ)TSХj¶ПBЏNvB|/xhҐг–м&¤$^+›цkhєАК$А“э)uf‰±9RAж“)7 Оqe жг1Ѓѕ<> 2ѓњЉ˜  Ї§#餓jу

Помогите пожалуйста разобрать, никак не могу. Или это уже не возможно?
похоже, что это бинарник
А как же двойные перекодировки?
Не хватает Win-1251 → UTF-8. Сегодня столкнулся с такой проблемой.

Русские символы отображаются всегда так: ����� ��� ����� �� �������
Википи**ры удалили статью «Кракозябры» в Wikipedia.

Столкнулся с неверными кодировками в своём проекте, хотел по быстрому взглянуть в чём проблема (была там удобнейшая таблица)… А теперь шиш… пичалька…
Автор, пожалуйста, перевыложите картинку с кодировками!
Вы про *.zip архив или про саму картинку в статье?
Про саму картинку и исходник
Исходника, к сожалению, нет, а картинка вот:
image
Черт, забыл про вэбархив. Выципил ее из этого топика (просто сохранил страницу), т.к. она у меня почему-то отображается.
Да, с самом посте у меня тоже есть картинка. habrastorage ее не потерял.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации