从Ruby中的二进制数据创建图像文件



我能够访问文件的二进制数据并将其存储在类似的可变性中

s = File.binread("sample_22122015_03.jpg")
bits = s.unpack("B*")[0]

位点具有这样的数据" 101001001010100100 ........"

但是,我想做一些更改,然后再次将二进制数据写回新图像,但我无法。

我正在使用

File.open('shipping_label_new.jpg', 'wb') do|f|
f.write(Base64.decode64(bits))
end

,但它不起作用,我看到图像损坏了。

尝试此代码

s = File.binread("test_img.jpg")
bits = s.unpack("B*")
File.open('new_test_img.jpg', 'wb') do|f|
  f.write(bits.pack("B*"))
end

String.unpack的反面是 Array.pack

 :007 > bits = 'abc'.unpack("B*")
 => ["011000010110001001100011"]
 :008 > bits.pack("B*")
 => "abc"

相关内容

  • 没有找到相关文章

最新更新