Revision Difference
utf8.len#547807
<function name="len" parent="utf8" type="libraryfunc">
<description>Returns the number of UTF-8 sequences in the given string between positions startPos and endPos (both inclusive). If it finds any invalid UTF-8 byte sequence, returns false as well as the position of the first invalid byte.</description>
<realm>Shared</realm>
<file line="197-L224">lua/includes/modules/utf8.lua</file>
<file line="202-L229">lua/includes/modules/utf8.lua</file>
<args>
<arg name="string" type="string">The string to calculate the length of.</arg>
<arg name="startPos" type="number" default="1">The starting position to get the length from.</arg>
<arg name="endPos" type="number" default="-1">The ending position to get the length from.</arg>
</args>
<rets>
<ret name="" type="number">The number of UTF-8 characters in the string. If there are invalid bytes, this will be false.</ret>
<ret name="" type="number">The position of the first invalid byte. If there were no invalid bytes, this will be nil.</ret>
</rets>
</function>
<example>
<description>Demonstrates output of this function compared to <page>string.len</page> when given a string that contains Russian text.</description>
<code>
print( string.len( "Мёнём" ) )
print( utf8.len( "Мёнём" ) )
</code>
<output>
```
11
5
```
</output>
</example>