Difference between revisions of "Utf8.offset"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
 
Line 4: Line 4:
  
 
=== 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.
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
(number) = utf8.offset(s,n,i)
 
(number) = utf8.offset(s,n,i)
</source>
+
</syntaxhighlight>
  
 +
A negative ''n'' gets characters before position ''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.
 
 
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.
 
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.
+
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.'''
+
'''This function assumes that ''s'' is a valid UTF-8 string'''
  
 
=== Parameters ===
 
=== Parameters ===
'''s''': (string) <br/>
+
'''s''': (string) <br/>
'''n''': (number) <br/>
+
'''n''': (number) <br/>
'''i''': (number) '''optional'''<br/>
+
'''i''': (number) '''optional'''<br/>
  
 
=== Return values ===
 
=== Return values ===

Latest revision as of 23: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)