Какие бинарные вещи я получаю из Perl's Image :: Info :: image_info ()? - PullRequest
1 голос
/ 09 мая 2009

Я получаю следующий вывод после запуска кода для картинки

[1459]./image_info.pl lah.png 
$VAR1 = {
          'width' => 206,          'file_media_type' => 'image/png',
          'file_ext' => 'png',
          'PNG_Chunks' => [
                            'IHDR',
?V?????O?H??^#?C&?fu?M?5V??m6???M?s',
                            'IEND' 9   :˺??:?E??(;t??[/????o?4?4?O??TܲD
#PJ?EHͨ??ƥ8???#u   ?t??1?I/=?!w"???)?,??????X?|?{                                              M?N??A?  V``?&?
{8.?"???I)?W?_??|k?.c??l??s?8?~^Z??????_;?,,+,/?4~]ů?ZìU?+???i?s`C}??/?_??>?d~?lrn?n^???2???z?-???B??n?D;??aXHoeh?3???
DA5?N?Aw??? ???J?-????P?> 'RGB',
C?~&?1?cd 'heiga~H.`ha162,         H2?I???P?p?HsZ?&?P? Y`??;?q4Kov??3?Z???L???? ?F??&???aq?H???????"Ri?F? ??ٵ???L  B??r??H%??@??٩qiLJ?pres??on' => 'Deflate',
        ??/?Z?w,?k???g?=> '2835 dpm',
          'Compression' ? ((~??_^A ?c?vV??w????m,7????Eb???0J5?? ??? ????9????:?,24m[1460]  

Я не понимаю последний бит файла.

Как изменить кодировку, чтобы она была читаемой?

Ответы [ 3 ]

4 голосов
/ 09 мая 2009

Модуль Perl Image::Info не должен отображать все эти закодированные данные вообще. Мои собственные тесты этого модуля никогда не делали этого, например:

$VAR1 = {
          'width' => 58,
          'file_media_type' => 'image/png',
          'file_ext' => 'png',
          'PNG_Chunks' => [
                            'IHDR',
                            'IDAT',
                            'IEND'
                          ],
          'PNG_Filter' => 'Adaptive',
          'color_type' => 'Gray',
          'height' => 56,
          'SampleFormat' => 'U8',
          'Compression' => 'Deflate',
          'resolution' => '1/1'
        };

Попробуйте его в другом файле PNG, похоже, он поврежден.

1 голос
/ 09 мая 2009

Вы отображаете двоичный фрагмент как текст. Это не будет читаемым в любой кодировке.

0 голосов
/ 09 мая 2009

Перенаправить вывод вашего скрипта в файл:

./image_info.pl lah.png >log.txt 2>&1

Затем откройте log.txt в своем любимом текстовом редакторе с графическим интерфейсом (например, kate, gedit, notepad ++), указав ISO-8859-1 или UTF-8 в открытом диалоге. Попробуйте обе кодировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...