¿Ruby proporciona una forma de hacer File.read () con una codificación específica?

En ruby ​​1.9.x, podemos especificar la codificación conFile.open('filename','r:iso-8859-1'). A menudo prefiero usar un archivo de una línea.read () si estoy leyendo muchos archivos cortos en cadenas directamente. ¿Hay alguna forma de especificar la codificación directamente o tengo que recurrir a uno de los siguientes?

str = File.read('filename')
str.force_encoding('iso-8859-1')

o

f = File.open('filename', 'r:iso-8859-1')
s = ''
while (line = f.gets)
    s += line
end
f.close

Respuestas a la pregunta(1)

Su respuesta a la pregunta