如果我尝试将压缩字节作为 unsigned int32 写入文件,使用pack('L')
,该数字10
将写入五个字节。使用任何其他数字,我都会得到正常行为。
我写了简单的脚本:
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
并得到这个结果;查看第 10 次迭代。
我的错误在哪里?
Ruby 版本:ruby 1.9.3p327 (2012-11-10) [i386-mingw32]