change default byte order in bit_converter to BE and fix byte manipulation functions

This commit is contained in:
MihailRis 2024-12-30 06:29:52 +03:00
parent aad0ea84eb
commit 9490d1f7ea

View File

@ -39,7 +39,7 @@ local toLEConvertors =
BE = function(bytes) return reverse(bytes) end
}
bit_converter.default_order = "LE"
bit_converter.default_order = "BE"
local function fromLE(bytes, orderTo)
if orderTo then
@ -170,17 +170,17 @@ end
local function uint32ToBytes(int, order)
return fromLE({
maskHighBytes(bit.rshift(int, 24)),
maskHighBytes(bit.rshift(int, 16)),
maskHighBytes(int),
maskHighBytes(bit.rshift(int, 8)),
maskHighBytes(int)
maskHighBytes(bit.rshift(int, 16)),
maskHighBytes(bit.rshift(int, 24))
}, order)
end
local function uint16ToBytes(int, order)
return fromLE({
maskHighBytes(bit.rshift(int, 8)),
maskHighBytes(int)
maskHighBytes(int),
maskHighBytes(bit.rshift(int, 8))
}, order)
end
@ -206,14 +206,14 @@ function bit_converter.int64_to_bytes(int, order)
end
return fromLE({
maskHighBytes(bit.rshift(int, 56)),
maskHighBytes(bit.rshift(int, 48)),
maskHighBytes(bit.rshift(int, 40)),
maskHighBytes(bit.rshift(int, 32)),
maskHighBytes(bit.rshift(int, 24)),
maskHighBytes(bit.rshift(int, 16)),
maskHighBytes(int),
maskHighBytes(bit.rshift(int, 8)),
maskHighBytes(int)
maskHighBytes(bit.rshift(int, 16)),
maskHighBytes(bit.rshift(int, 24)),
maskHighBytes(bit.rshift(int, 32)),
maskHighBytes(bit.rshift(int, 40)),
maskHighBytes(bit.rshift(int, 48)),
maskHighBytes(bit.rshift(int, 56))
}, order)
end
@ -298,9 +298,10 @@ function bit_converter.bytes_to_uint32(bytes, order)
bit.bor(
bit.bor(
bit.bor(
bit.lshift(bytes[1], 24),
bit.lshift(bytes[2], 16)),
bit.lshift(bytes[3], 8)),bytes[4])
bytes[1],
bit.lshift(bytes[2], 8)),
bit.lshift(bytes[3], 16)),
bit.lshift(bytes[4], 24))
end
function bit_converter.bytes_to_uint16(bytes, order)
@ -312,8 +313,8 @@ function bit_converter.bytes_to_uint16(bytes, order)
return
bit.bor(
bit.lshift(bytes[1], 8),
bytes[2], 0)
bit.lshift(bytes[2], 8),
bytes[1], 0)
end
function bit_converter.bytes_to_int64(bytes, order)
@ -331,13 +332,13 @@ function bit_converter.bytes_to_int64(bytes, order)
bit.bor(
bit.bor(
bit.bor(
bit.lshift(bytes[1], 56),
bit.lshift(bytes[2], 48)),
bit.lshift(bytes[3], 40)),
bit.lshift(bytes[4], 32)),
bit.lshift(bytes[5], 24)),
bit.lshift(bit.band(bytes[6], 0xFF), 16)),
bit.lshift(bit.band(bytes[7], 0xFF), 8)),bit.band(bytes[8], 0xFF))
bit.lshift(bytes[8], 56),
bit.lshift(bytes[7], 48)),
bit.lshift(bytes[6], 40)),
bit.lshift(bytes[5], 32)),
bit.lshift(bytes[4], 24)),
bit.lshift(bit.band(bytes[3], 0xFF), 16)),
bit.lshift(bit.band(bytes[2], 0xFF), 8)),bit.band(bytes[1], 0xFF))
end
function bit_converter.bytes_to_int32(bytes, order)