llChar
string llChar(integer val// Unicode codepoint integer (ordinal) to convert.
);- Returns
string- Energy
- 10
Construct a single character string from the supplied Unicode value.
This function returns a single character string generated from the character at the indicated UTF-32 codepoint.
If val is negative, the codepoint has no valid single-character UTF-16 representation such as a part of a surrogate pair, or is outside defined range, the Unicode replacement character ”–” (0xFFFD) is returned. (Slua’s equivilant utf8.char instead raises the error "invalid argument #1 to 'char' (value out of range)" in this situation).If val is 0, an empty string is returned.
string result = llChar(0);Caveats
Section titled “Caveats”- Value range is between
0x1–0x10FFFF - Values in the surrogate range
0xD800–0xDFFFwill return the replacement character ”–” (0xFFFD) instead - Values for the special noncharacters
0xFFFEand0xFFFFwill return the replacement character instead - SLua’s equivilant
utf8.charhas none of the above caveats, and also handles0x0(the null character) correctly (validation script, in SLua) - Values for UTF-8 multibyte ranges are:
- 1 byte:
0x0–0x7F - 2 bytes:
0x80–0x07FF - 3 bytes:
0x0800–0xFFFF - 4 bytes:
0x10000–0x10FFFF
Examples
Section titled “Examples”Example 1
18 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 ]; }
string char; for (index = 0; index < llGetListLength(test_list); ++index) { ord = llList2Integer(test_list, index); char = llChar(ord); test_string2 = test_string2 + char; }5 collapsed lines
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.