【问题标题】:How to convert a txt file to binary file in ruby如何在ruby中将txt文件转换为二进制文件
【发布时间】:2014-11-13 18:15:46
【问题描述】:

我已经尝试寻找将标准 txt 文件转换为二进制文件的最佳实践,但我仍然不太了解它,我想知道是否有人可以更好地解释一下。所以假设我有my_file.txt 并想将其转换为my_file.bin。一次转换整个文件的最佳做法是什么?我可以将整个文件写入一个新的 .bin 文件吗?还是我必须遍历文件并逐行转换等?

我尝试过诸如

之类的东西
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 时没有返回任何内容。有没有更好的做法来完成这个?

【问题讨论】:

  • “二进制文件”是什么意思?

标签: ruby


【解决方案1】:

好消息! Ruby 的字符串操作已让您了解这里:

"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

【讨论】:

  • 哦,完美!很酷。那么,如果我确实想逐行阅读它,这也可以吗?只需为每一行调用它,它就会将其写入文件,对吗?
  • 当然会。只需修改您的编码以逐行循环文件(将二进制文件存储到数组等中),然后将循环中的二进制文件转储到新文件中。
猜你喜欢
  • 2020-02-10
  • 2015-11-07
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 2013-12-24
  • 1970-01-01
相关资源
最近更新 更多