运行图片的code后,我得到以下输出
[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]
我不明白文件的最后一位。
如何将编码更改为可读?
答案 0 :(得分:4)
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 :(得分:1)
您正在将二进制块显示为文本。在任何编码中都不会有可读性。
答案 2 :(得分:0)
将脚本的输出重定向到文件:
./image_info.pl lah.png >log.txt 2>&1
然后在您喜欢的GUI文本编辑器(例如kate,gedit,notepad ++)中打开log.txt
,在打开的对话框中指定ISO-8859-1或UTF-8。尝试两种编码。