Difference between revisions of "Lua:dwordToByteTable"
m |
m (Added CodeBox Template.) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Category:Lua]] | [[Category:Lua]] | ||
| − | '''function''' dwordToByteTable(''Number'') ''':''' Table | + | {{CodeBox|'''function''' dwordToByteTable(''Number'') ''':''' Table}} |
Converts a 32-bit dword (integer) to a table of bytes. | Converts a 32-bit dword (integer) to a table of bytes. | ||
| Line 17: | Line 17: | ||
===Returns=== | ===Returns=== | ||
Table — A table containing the bytes representing the dword. | Table — A table containing the bytes representing the dword. | ||
| + | |||
| + | ===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 <code>wordToByteTable(1337)</code>: | ||
| + | |||
| + | - The decimal number <code>1337</code> is <code>0x0539</code> in hexadecimal. | ||
| + | - Computers typically use little-endian order, meaning the least significant byte comes first. | ||
| + | - So, <code>0x0539</code> is split into two bytes: <code>0x39</code> (57 in decimal) and <code>0x05</code> (5 in decimal). | ||
| + | - The resulting byte table is <code>{0x39, 0x05}</code> or <code>{57, 5}</code>. | ||
| + | |||
| + | This means: | ||
| + | - <code>bytes[1] = 0x39</code> (the low byte) | ||
| + | - <code>bytes[2] = 0x05</code> (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=== | ===Examples=== | ||
Latest revision as of 23:09, 4 December 2025
| <> Function function dwordToByteTable(Number) : Table |
Converts a 32-bit dword (integer) to a table of bytes.
Function Parameters[edit]
| Parameter | Type | Description |
|---|---|---|
| Number | Integer | The 32-bit dword to convert. |
Returns[edit]
Table — A table containing the bytes representing the dword.
Explanation[edit]
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[edit]
local bytes = dwordToByteTable(0x12345678)
for i, b in ipairs(bytes) do
print(string.format("Byte %d: %02X", i, b))
end
-- Output: Byte 1: 78, Byte 2: 56, Byte 3: 34, Byte 4: 12 (little-endian order)
See also[edit]
| Lua |
| Script Engine |
Related Functions[edit]
| Read Functions |
|---|
| readBytes |
| readSmallInteger |
| readInteger |
| readQword |
| readPointer |
| readFloat |
| readDouble |
| readString |
| Read Functions (Local Process) |
| readBytesLocal |
| readIntegerLocal |
| readQwordLocal |
| readPointerLocal |
| readFloatLocal |
| readDoubleLocal |
| readStringLocal |
| Write Functions |
| writeBytes |
| writeSmallInteger |
| writeInteger |
| writeQword |
| writeFloat |
| writeDouble |
| writeString |
| Write Functions (Local Process) |
| writeBytesLocal |
| writeIntegerLocal |
| writeQwordLocal |
| writeFloatLocal |
| writeDoubleLocal |
| writeStringLocal |
| Byte Table Conversions (Value → Byte Table) |
| wordToByteTable |
| dwordToByteTable |
| qwordToByteTable |
| floatToByteTable |
| doubleToByteTable |
| stringToByteTable |
| wideStringToByteTable |
| Byte Table Conversions (Byte Table → Value) |
| byteTableToWord |
| byteTableToDword |
| byteTableToQword |
| byteTableToFloat |
| byteTableToDouble |
| byteTableToString |
| byteTableToWideString |