如果我嘗試使用pack('L')
將一個壓縮字節作爲無符號int32寫入文件,則編號10
會寫爲5個字節。與任何其他數字我得到正常的行爲。奇怪行爲與包('L')
我寫了簡單的腳本:
x = 0
while x < 100 do
puts "\nTesting %s..." % [x]
h = [x].pack('L')
puts "h length: %s" % [h.length]
f = File.open('tmp', 'w')
f.write h
puts "position: %s" % [f.pos]
x += 1
end
,並得到this result;看迭代數字10.
我的錯誤在哪裏?
紅寶石版本:紅寶石1.9.3p327(2012年11月10日)[I386-的mingw32]
在'ruby 1.9.3p125(2012-02-16 revision 34643)上運行你的代碼片段[x86_64-darwin12.1.0]'我一直下載4個字節:( – Nevir