假设我有这个数字:
local uint = 2000;
我怎样才能得到它组成的字节?例如:
print(sepbytes(uint));
-- 7, 208
我的尝试:
local function sepbytes(cur)
local t = {};
repeat
cur = cur / 16;
table.insert(t, 1, cur);
until cur <= 0
return table.unpack(t);
end
print(sepbytes(2000));
这导致:
0 9.8813129168249e-324, +(lots of numbers)...
预期结果:
7, 208
最佳答案
根据评论,如果我想要 2 个固定字节(这是当前的情况),我可以使用 @ajcr 解决方案:
local function InParts(num)
return ((num & (0xff << 8)) >> 8), (num & 0xff);
end
@EgorSkriptunoff(Lua 5.3)解决方案适用于任何字节数。
local function InParts(num)
return string.pack(">I2", uint):byte(1, -1);
end
关于lua - 如何获取无符号整数组成的字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41492292/