Difference between revisions of "Lua:stringToByteTable"

From Cheat Engine
Jump to navigation Jump to search
m
m (Syntax Highlighting.)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Lua]]
 
[[Category:Lua]]
'''function''' stringToByteTable(''String'') ''':''' Table
+
{{CodeBox|'''function''' stringToByteTable(''String'') ''':''' Table}}
  
 
Converts a string to a table of bytes, where each byte represents the ASCII/ANSI value of the corresponding character.
 
Converts a string to a table of bytes, where each byte represents the ASCII/ANSI value of the corresponding character.
Line 37: Line 37:
  
 
===Examples===
 
===Examples===
<pre>
+
<syntaxhighlight lang="lua" line>
 
local bytes = stringToByteTable("ABC")
 
local bytes = stringToByteTable("ABC")
 
for i, b in ipairs(bytes) do
 
for i, b in ipairs(bytes) do
Line 43: Line 43:
 
end
 
end
 
-- Output: Byte 1: 41, Byte 2: 42, Byte 3: 43 (hex for 'A', 'B', 'C')
 
-- Output: Byte 1: 41, Byte 2: 42, Byte 3: 43 (hex for 'A', 'B', 'C')
</pre>
+
</syntaxhighlight>
  
 
{{LuaSeeAlso}}
 
{{LuaSeeAlso}}
  
=== Related Functions ===
+
{{RelatedStrings}}
* [[ansiToUtf8]]
+
 
* [[utf8ToAnsi]]
 
* [[translate]]
 
 
{{ReadWriteMemory}}
 
{{ReadWriteMemory}}

Latest revision as of 15:47, 25 June 2026

<> Lua API Reference

function stringToByteTable(String) : Table

Converts a string to a table of bytes, where each byte represents the ASCII/ANSI value of the corresponding character.

Function Parameters[edit]

Parameter Type Description
String String The string to convert.

Returns[edit]

Table — A table containing the bytes representing each character in the string.

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]

1 local bytes = stringToByteTable("ABC")
2 for i, b in ipairs(bytes) do
3   print(string.format("Byte %d: %02X", i, b))
4 end
5 -- Output: Byte 1: 41, Byte 2: 42, Byte 3: 43 (hex for 'A', 'B', 'C')

Main Pages

Core Lua documentation entry points

Lua
Script Engine

String Related Lua Functions

Encoding conversion and localized text helpers