2014-11-13 25 views
1

我试过寻找最佳实践来将标准txt文件转换为二进制文件,但我还是不太了解它,并且想知道是否有人可以更好地解释它。所以可以说我有my_file.txt,并且想将它转换为my_file.bin。一次转换整个文件的最佳做法是什么?我可以将整个文件写入一个新的.bin文件吗?或者我必须迭代文件并逐行转换等等?如何将txt文件转换为ruby中的二进制文件

我已经试过的东西,如

old_text = File.open('my_file.txt').read 
bin_file = File.new("my_file.bin","w+") # I understand w+ may not be the correct option 
bin_file.puts(old_text) 
bin_file.close 

但尝试读取bin_file没事的时候返回。有没有更好的做法来完成这一点?

+1

什么你的意思是“二进制文件”? – matt

回答

2

好消息! Ruby的字符串maniupulation已经得到了你这里介绍:

"some text".unpack('b*') 

您可以将一个完整的文件转换成二进制通过http://ruby-doc.org/core-2.1.4/String.html#M000760

你可以做这样的事情更多的是:

old_text = File.open('my_file.txt').read 
bin_file = File.new("my_file.bin","w+") # I understand w+ may not be the correct option 
bin_file.puts(old_text.unpack('b*')) 
bin_file.close 
+0

哦完美!很酷。如果我想一行一行阅读,那么这项工作是否也会如此?只是为每一行调用它,它会将其写入文件的权利? – Luminusss

+1

当然会。只需修改您的代码,逐行循环遍历文件(将二进制文件存储为像数组或类似文件),然后将循环中的二进制文件转储到新文件中。 –

相关问题