Necesito una manera fácil de tomar un archivo tar y convertirlo en una cadena (y viceversa). ¿Hay alguna manera de hacer esto en Ruby? Mi mejor intento fue la siguiente:Lea el archivo binario como una cadena en Ruby
file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
contents << line
}
pensé que sería suficiente para convertirlo en una cadena, pero cuando trato de escribir de nuevo fuera así ...
newFile = File.open("test.tar.gz", "w")
newFile.write(contents)
ISN es el mismo archivo. Haciendo ls -l
muestra que los archivos son de diferentes tamaños, aunque son bastante cercanos (y al abrir el archivo se revela que la mayoría de los contenidos están intactos). ¿Hay un pequeño error que estoy cometiendo o una manera completamente diferente (pero factible) de lograr esto?
Eso es un archivo tar comprimido con gzip (espero). No hay "líneas" Pls aclara lo que estás tratando de lograr. –
¿Estás tratando de ver los datos comprimidos o el contenido sin comprimir? –
para que los caracteres en una secuencia de datos comprimidos tengan aproximadamente 1 en 256 posibilidades de aterrizar en "\ n" definiendo el final de una línea, y eso está bien si no espera "\ r" también, vea mi respuesta debajo de – Purfideas