Мне нужен простой способ взять файл 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
показывает, что файлы имеют разные размеры, хотя они довольно близки (и открытие файла показывает большую часть содержимого без изменений). Есть ли небольшая ошибка, которую я делаю, или совершенно другой (но выполнимый) способ сделать это?
IO.read
как в противном случае предпочтительным будет ответ.