llOrd
function
Function syntax
integer llOrd(string val,// Source string.integer index// Codepoint index of the character to convert. Supports negative indexing.
);- Returns
integer- Energy
- 10
Calculate the ordinal value for a character in a string.
The returned value is the UTF-32 value of the character at the specified index. If index is outside the bounds of the string, this function returns 0.
integer result = llOrd("", 0);Caveats
Section titled “Caveats”- Characters in the surrogate range (
"\u{D800}"-"\u{0xDFFF}") will return0x3F=63. This might not be observable on LSL, only SLua. SLua’s equivalentutf8.codepointinstead raises an error"invalid UTF-8 code"in this situation.
Examples
Section titled “Examples”Example 1
10 collapsed lines
default{ touch_start(integer total_number) { string test_string = "The quick brown fox jumped over the lazy dog"; list test_list = []; string test_string2 = "";
integer index; integer ord; for (index = 0; index < llStringLength(test_string); ++index) { ord = llOrd(test_string, index); test_list = test_list + [ ord ]; }13 collapsed lines
string char; for (index = 0; index < llGetListLength(test_list); ++index) { ord = llList2Integer(test_list, index); char = llChar(ord); test_string2 = test_string2 + char; }
llSay(0, "\"" + test_string + "\" -> [" + llDumpList2String(test_list, ", ") + "] -> \"" + test_string2 + "\""); }}See also
Section titled “See also”Functions
Section titled “Functions”Articles
Section titled “Articles”Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.