在Ruby中编写二进制文件

Ale*_*vik 32 ruby

是否有一种简单的方法将二进制数据写入二进制文件,就像我们以前在C/C++中所做的那样?例如,如何在不使用花哨数学的情况下创建具有序列化4字节整数值的4字节文件?

Pes*_*sto 35

您可以使用Array#packString#unpack来转换为二进制表示形式.将它们与IO#writeIO #read结合起来,然后就可以了.

  • 这似乎是我想做的,但我仍然不知道该怎么做.我应该使用`String#unpack`解压缩二进制字符串的格式是什么? (5认同)

小智 27

我最近有一个类似的工作问题.我使用了BinData宝石,它起了作用.你只需做一些事情:

File.open('test.bin', 'wb') {|file| BinData::Int32be.new(12345).write(file) }
Run Code Online (Sandbox Code Playgroud)

而且您不需要记住任何Array#pack代码.


nyi*_*nyi 9

File#binwrite来写入二进制数据:

File.binwrite("test.bin", my_binary_data)
Run Code Online (Sandbox Code Playgroud)

  • 比接受的答案和“File.open do”更好 (2认同)