2014-10-05 156 views
1

png格式字符串圖像文件我有一個PNG因爲看起來像這樣的字符串:轉換紅寶石

"89504e47 0d0a1a0a 0000000d 49484452 000000b6 00000067 08020000" 

大約100 000個字符。

如何將其轉換爲PNG文件?

回答

1

刪除空格,使用Array#pack將十六進制表示轉換爲二進制序列。

bin_seq = ["89504e47 0d0a1a0a 0000000d 49484452 ....".gsub(' ', '')].pack('H*') 
# => "\x89PNG\x00\xD0\xA1\xA0\xA0\x00\x00\x00\r\x04\x94\x84E..." 

然後將其寫入文件。

IO.write('/path/to/a_image_file.png', bin_seq, {mode: 'wb'}) 
+1

您可能想要在打包前刪除空格。 – 2014-10-05 05:46:40

+0

@ muistooshort,你說得對。謝謝你指出。 – falsetru 2014-10-05 05:47:45