從二進制文件轉換三個字節爲無符號整數的最佳方法是什麼?從二進制文件中將三個字節轉換爲無符號整數的最佳方法?
這是我目前的解決方案,你知道更好的嗎?
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