Difference between revisions of "LlChar"

From Second Life Wiki
Jump to navigation Jump to search
(return value for chars that aren't valid UTF-16)
(turns out the old "?" was incorrect and negative values also return the replacement char, not just a ?)
 
Line 7: Line 7:
|p1_hover=Unicode value for character.
|p1_hover=Unicode value for character.
|return_text=
|return_text=
|func_footnote=This function returns a single character string generated from the character at the indicated UTF-32 codepoint.  Returns "?" (Unicode 0x0F) if val is negative.<br/>Returns the Unicode replacement character "�" (0xFFFD) for characters that do not have a proper single-character representation in UTF-16 (multi-character surrogates or otherwise invalid).
|func_footnote=This function returns a single character string generated from the character at the indicated UTF-32 codepoint.<br/>If {{LSLP|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.</br>If {{LSLP|val}} is 0, an empty string is returned.
|spec
|spec
|caveats
|caveats

Latest revision as of 11:14, 9 October 2023

Summary

Function: string llChar( integer val );
0.0 Forced Delay
10.0 Energy

Construct a single character string from the supplied Unicode value.
Returns a string

• integer val Unicode value for character.

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.
If val is 0, an empty string is returned.

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

• llOrd Convert a character into an ordinal
• llHash Calculate a 32bit hash for a string

Articles

•  "Wikipedia logo"UTF-32

Deep Notes

Signature

function string llChar( integer val );