我需要一种简单的方法来获取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
显示文件大小不同,尽管它们非常接近(打开文件可以看到大部分内容完整无缺)。我正在犯一个小错误,还是一种完全不同(但可行)的方式来实现这一目标?
3
那是一个压缩的tar文件(我希望)。没有“线”。请说明您要达到的目标。
—
Brent.Longborough,
您是要查看压缩数据还是未压缩内容?
—
David Nehme
因此压缩数据流中的字符将有大约256分之一的概率降落在定义行尾的“ \ n”上,如果也不要期望“ \ r”也可以,请参见下面的答案
—
Purfideas
此问题应重新命名为“将二进制文件转换为字符串”,因为
—
2014年
IO.read
否则将是首选答案。