Difference between revisions of "Utf8.offset"

From GiderosMobile
(remove language stuff)
m (Text replacement - "<source" to "<syntaxhighlight")
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Returns the position (in bytes) where the encoding of the n-th character of s (counting from position i) starts.
 
Returns the position (in bytes) where the encoding of the n-th character of s (counting from position i) starts.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
(number) = utf8.offset(s,n,i)
 
(number) = utf8.offset(s,n,i)
 
</source>
 
</source>

Revision as of 15:32, 13 July 2023

Available since: Gideros 2016.06
Class: utf8

Description

Returns the position (in bytes) where the encoding of the n-th character of s (counting from position i) starts. <syntaxhighlight lang="lua"> (number) = utf8.offset(s,n,i) </source>


A negative n gets characters before position i.

The default for i is 1 when n is non-negative and #s + 1 otherwise, so that utf8.offset(s, -n) gets the offset of the n-th character from the end of the string.

If the specified character is neither in the subject nor right after its end, the function returns nil.

As a special case, when n is 0 the function returns the start of the encoding of the character that contains the i-th byte of s.


This function assumes that s is a valid UTF-8 string.

Parameters

s: (string)
n: (number)
i: (number) optional

Return values

Returns (number) position (in bytes)