Difference between revisions of "LlChar"

From Second Life Wiki
Jump to navigation Jump to search
(turns out the old "?" was incorrect and negative values also return the replacement char, not just a ?)
 
(4 intermediate revisions by 3 users not shown)
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.
|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
|examples=
|examples=
<source lang="lsl2">
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 + "\"");
    }
}
</source>
|helpers|related
|helpers|related
|also_functions=
|also_functions=
{{LSL DefineRow|[[llOrd]]|Convert a character into an ordinal}}
{{LSL DefineRow|[[llOrd]]|Convert a character into an ordinal}}
{{LSL DefineRow|[[llHash]]|Calculate a 32bit hash for a string}}
{{LSL DefineRow|[[llHash]]|Calculate a 32bit hash for a string}}
|also_articles={{LSL DefineRow||{{wikipedia|UTF-16}}|}}
|also_articles={{LSL DefineRow||{{wikipedia|UTF-32}}|}}
|notes
|notes
|cat1
|cat1

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 );