From 9490d1f7eacb00f56112dfdd1ea12bb9c3ca528d Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 30 Dec 2024 06:29:52 +0300 Subject: [PATCH] change default byte order in bit_converter to BE and fix byte manipulation functions --- res/modules/bit_converter.lua | 51 ++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/res/modules/bit_converter.lua b/res/modules/bit_converter.lua index 7c3c6a3f..b72dc311 100644 --- a/res/modules/bit_converter.lua +++ b/res/modules/bit_converter.lua @@ -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)