从二进制文件转换三个字节为无符号整数的最佳方法是什么?从二进制文件中将三个字节转换为无符号整数的最佳方法?
这是我目前的解决方案,你知道更好的吗?
a, b, c = file.read(3).unpack("C*")
a << 16 | b << 8 | c
从二进制文件转换三个字节为无符号整数的最佳方法是什么?从二进制文件中将三个字节转换为无符号整数的最佳方法?
这是我目前的解决方案,你知道更好的吗?
a, b, c = file.read(3).unpack("C*")
a << 16 | b << 8 | c
Ooh..fun:
file.read(3).unpack("C*").inject { |r, n| r << 8 | n }
使用BinData宝石
require 'bindata'
n = BinData::Uint24be.read(file)
既简单又聪明。谢谢 ! – skiffr