November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy zapisywać i odczytywać z pliku dane binarne.
Ponieważ łańcuchy języka Ruby nie rozróżniają danych tekstowych od binarnych, przetwarzanie plików zawierających dane binarne niczym nie różni się od przetwarzania plików tekstowych. Niemniej jednak ze względu na specyfikę systemu Windows, otwierając plik binarny, należy koniecznie użyć parametru b:
open('binary', 'wb') do |f|
(0..100).step(10) { |b| f << b.chr }
end
s = open('binary', 'rb') { |f| f.read }
# => "\000\n\024\036(2<FPZd"
Przetwarzanie pliku binarnego bajt po bajcie daje się prosto realizować za pomocą iteratora each_byte; wartości przekazywane przez niego do bloku kodowego są liczbami, nie znakami, co w przypadku ...