Difference between revisions of "LlStringLength"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
(*To quickly find out the number of bytes (in UTF-8), you can use llStringToBase64 (see also snippet there)) |
|||
(16 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LSL_Function | ||
|func_id=128|func_sleep=0.0|func_energy=10.0 | |||
|func=llStringLength|return_type=integer|p1_type=string|p1_name=str | |||
|func_footnote | |||
|func_desc | |||
|return_text=that is the number of characters in '''str'''. | |||
|spec | |||
|caveats= | |||
*The index of the last character is not equal to the string length. | |||
**Character indexs start at zero (the index of the first character is zero). | |||
*llStringLength() gets the number of characters, not bytes | |||
**LSL-2 sees all strings as UTF-8 | |||
**LSL-Mono sees all string as UTF-16 | |||
**Both UTF-8 and UTF-16 use multibyte characters | |||
*Some communication functions (e.g. llHTTPResponse) are limited by number of Bytes, and work with UTF-8 strings | |||
**To quickly find out the number of bytes (in UTF-8), you can use [[llStringToBase64]] (see also snippet there) | |||
|constants | |||
|examples= | |||
<source lang="lsl2"> | |||
// assumptions: | |||
// object name: LSLWiki | |||
// script name: _lslwiki | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
string HowLongAmI = "123"; | |||
integer strlen = llStringLength(HowLongAmI); | |||
llOwnerSay( "'" + HowLongAmI + "' has " +(string) strlen + " characters."); | |||
// The owner of object LSLWiki will hear | |||
// LSLWiki: '123' has 3 characters. | |||
} | |||
} | |||
</source> | |||
|helpers | |||
|also_functions={{LSL DefineRow||[[llGetListLength]]|}} | |||
|also_events | |||
|also_tests | |||
|also_articles | |||
|notes | |||
|permission | |||
|negative_index | |||
|sort=StringLength | |||
|cat1=String | |||
|cat2 | |||
|cat3 | |||
|cat4 | |||
}} |
Latest revision as of 06:13, 24 January 2024
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: integer llStringLength( string str );128 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns an integer that is the number of characters in str.
• string | str |
Caveats
- The index of the last character is not equal to the string length.
- Character indexs start at zero (the index of the first character is zero).
- llStringLength() gets the number of characters, not bytes
- LSL-2 sees all strings as UTF-8
- LSL-Mono sees all string as UTF-16
- Both UTF-8 and UTF-16 use multibyte characters
- Some communication functions (e.g. llHTTPResponse) are limited by number of Bytes, and work with UTF-8 strings
- To quickly find out the number of bytes (in UTF-8), you can use llStringToBase64 (see also snippet there)
Examples
// assumptions:
// object name: LSLWiki
// script name: _lslwiki
default
{
state_entry()
{
string HowLongAmI = "123";
integer strlen = llStringLength(HowLongAmI);
llOwnerSay( "'" + HowLongAmI + "' has " +(string) strlen + " characters.");
// The owner of object LSLWiki will hear
// LSLWiki: '123' has 3 characters.
}
}
See Also
Functions
• | llGetListLength |