从二进制文件中将三个字节转换为无符号整数的最佳方法是什么?
这是我目前的解决方案,你知道更好吗?
a, b, c = file.read(3).unpack("C*")
a << 16 | b << 8 | c
答案 0 :(得分:2)
使用BinData gem
require 'bindata'
n = BinData::Uint24be.read(file)
答案 1 :(得分:1)
Ooh..fun:
file.read(3).unpack("C*").inject { |r, n| r << 8 | n }
答案 2 :(得分:0)