将png字符串转换为ruby中的图像文件

时间:2014-10-05 05:16:17

标签: ruby-on-rails ruby string

我有一个png字符串,如下所示:

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

大约10万个字符。

如何将其转换为png文件?

1 个答案:

答案 0 :(得分: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'})