Lua:qwordToByteTable
function qwordToByteTable(Number) : Table
Converts a 64-bit qword (integer) to a table of bytes.
Function Parameters
| Parameter | Type | Description |
|---|---|---|
| Number | Integer | The 64-bit qword to convert. |
Returns
Table — A table containing the bytes representing the qword.
Explanation
The "ToByteTable" functions convert a value (such as an integer or floating-point number) into a table of bytes that represent how the value is stored in memory.
For example, if you use wordToByteTable(1337):
- The decimal number 1337 is 0x0539 in hexadecimal.
- Computers typically use little-endian order, meaning the least significant byte comes first.
- So, 0x0539 is split into two bytes: 0x39 (57 in decimal) and 0x05 (5 in decimal).
- The resulting byte table is {0x39, 0x05} or {57, 5}.
This means:
- bytes[1] = 0x39 (the low byte)
- bytes[2] = 0x05 (the high byte)
This process applies to all "ToByteTable" functions: They break down the value into its raw bytes, ordered from least significant to most significant (little-endian).
Examples
local bytes = qwordToByteTable(0x1122334455667788)
for i, b in ipairs(bytes) do
print(string.format("Byte %d: %02X", i, b))
end
-- Output: Byte 1: 88, Byte 2: 77, ..., Byte 8: 11 (little-endian order)
See also
Related Functions
- readBytes
- readSmallInteger
- readInteger
- readQword
- readPointer
- readFloat
- readDouble
- readString
- writeBytes
- writeSmallInteger
- writeInteger
- writeQword
- writeFloat
- writeDouble
- writeString
- readBytesLocal
- readIntegerLocal
- readQwordLocal
- readPointerLocal
- readFloatLocal
- readDoubleLocal
- readStringLocal
- writeBytesLocal
- writeIntegerLocal
- writeQwordLocal
- writeFloatLocal
- writeDoubleLocal
- writeStringLocal
- wordToByteTable
- dwordToByteTable
- qwordToByteTable
- floatToByteTable
- doubleToByteTable
- stringToByteTable
- wideStringToByteTable
- byteTableToWord
- byteTableToDword
- byteTableToQword
- byteTableToFloat
- byteTableToDouble
- byteTableToString
- byteTableToWideString