我在mac上有一个test.conf文件。我从web位置下载它作为application / octet。
当我使用命令行检查mime类型时,我得到:
file -Ib ~/test.conf
text/plain; charset=us-ascii
但在Ruby的IRB中,我认为它是utf-8:
irb(main):039:0> f = File.open("test.conf")
=> #<File:test.conf>
irb(main):040:0> f.external_encoding
=> #<Encoding:UTF-8>
irb(main):041:0> contents = f.read
irb(main):042:0> contents.encoding
=> #<Encoding:UTF-8>
因此,当我尝试使用File.foreach
打开文件一次读取一行时,我得到52行,而
cat ~/test.conf | wc -l
12
所以我的困境在于,如何确保Ruby看到与cat
命令相同的行数?