LlChar
Looking for the current API? Open the llChar reference →
Wiki description
Construct a single character string from the supplied Unicode value.
Function notes
This function returns a single character string generated from the character at the indicated UTF-32 codepoint.
If
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.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
- 1 byte:
Examples
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;
}
llSay(0, "\"" + test_string + "\" -> [" +
llDumpList2String(test_list, ", ") + "] -> \"" + test_string2 + "\"");
}
}See also: functions
See also: 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.