gpt4 book ai didi

ruby - 在 Ruby 中将二进制文件读取为字符串

转载 作者:数据小太阳 更新时间:2023-10-29 06:16:24 31 4
gpt4 key购买 nike

我需要一种简单的方法来获取 tar 文件并将其转换为字符串(反之亦然)。有没有办法在 Ruby 中做到这一点?我最好的尝试是这样的:

file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
contents << line
}

我认为这足以将它转换为字符串,但是当我尝试像这样写回它时......

newFile = File.open("test.tar.gz", "w")
newFile.write(contents)

这不是同一个文件。执行 ls -l 显示文件大小不同,尽管它们非常接近(打开文件会显示大部分内容完好无损)。我是否犯了一个小错误或完全不同(但可行)的方法来完成此任务?

最佳答案

首先,您应该将文件作为二进制文件打开。然后,您可以通过一条命令读取整个文件。

file = File.open("path-to-file.tar.gz", "rb")
contents = file.read

这将使您获得整个文件的字符串。

在那之后,您可能想要file.close。如果不这样做,file 将在垃圾回收之前不会关闭,因此在打开时会稍微浪费系统资源。

关于ruby - 在 Ruby 中将二进制文件读取为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/130948/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com