Difference between revisions of "Utf8.offset"
From GiderosMobile
| (5 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
| − | ''' | + | '''Available since:''' Gideros 2016.06<br/> |
| − | === | + | '''Class:''' [[utf8]]<br/> |
| − | + | ||
| − | + | === 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) | (number) = utf8.offset(s,n,i) | ||
| − | </ | + | </syntaxhighlight> |
| − | === | + | |
| − | '''s''': (string) | + | A negative ''n'' gets characters before position ''i''. |
| − | '''n''': (number) | + | |
| − | '''i''': (number) | + | 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) <br/> | ||
| + | '''n''': (number) <br/> | ||
| + | '''i''': (number) '''optional'''<br/> | ||
| + | |||
| + | === Return values === | ||
| + | '''Returns''' (number) position (in bytes)<br/> | ||
| + | |||
| + | {{Utf8}} | ||
Latest revision as of 22:11, 1 December 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.
(number) = utf8.offset(s,n,i)
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)