3
我正在學習ruby,我想按字節讀取一個文件。 它可以很好地處理短文本文件,但是當我用圖像或pdf文件進行嘗試時,它會停止讀取字節。爲什麼Ruby不會讀取文件中的所有字節
我嘗試了不同的實現,但我得到了相同的結果。這裏是我的代碼:
destination = File("file2", "w")
source = File.open("file1", "r")
source.each_byte do |byte|
destination.print (byte).chr
end
destination.close
我想這太:
destination = File("file2", "w")
source = File.open("file1", "r")
source.each_byte do |byte|
destination.putc(byte)
end
destination.close
我看到0x0D
和0x0A
對應\r
和\n
。
當我在irb
手動測試代碼我看到閱讀精細的4個初始元素,然後忽略第五(0x0D
= \r
)元件,並且獲得下一個(0x0A
= \n
)。
當我做source.read(1)
我得到正確的值\r
和\n
。
爲什麼.getbyte
忽略0x0D
字節(\r
),並說沒有更多的字節?
可以從"\r"
和"\n"
字符串中得到十進制值嗎?
http://stackoverflow.com/questions/8929610/automatically-open-a-file-as-binary-with-ruby –
寫得很好的問題,但可能的重複http://stackoverflow.com/q/16821435/1301972 –