Cht*_*ect 34 ruby encoding file
在ruby 1.9.x中,我们可以指定编码File.open('filename','r:iso-8859-1').如果我直接将许多短文件读入字符串,我通常更喜欢使用单行File.read().有没有办法可以直接指定编码,或者我是否必须采用以下方法之一?
str = File.read('filename')
str.force_encoding('iso-8859-1')
Run Code Online (Sandbox Code Playgroud)
要么
f = File.open('filename', 'r:iso-8859-1')
s = ''
while (line = f.gets)
s += line
end
f.close
Run Code Online (Sandbox Code Playgroud)
mu *_*ort 55
从精细手册:
read(name,[length [,offset]],open_args)→string
打开文件,可选地查找给定的文件,
offset然后返回length字节(默认为文件的其余部分).read确保文件在返回之前关闭.如果最后一个参数是散列,则它指定内部open()的选项.
所以你可以这样说:
>> s = File.read('pancakes', :encoding => 'iso-8859-1')
>> s.encoding
=> #<Encoding:ISO-8859-1>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22687 次 |
| 最近记录: |