Since not all platforms guarantee that String always uses UTF-8 encoding, you can use this crossplatform API to perform operations on such strings.

Constructor

new (?size:Int)

Allocate a new Utf8 buffer using an optional bytes size.

Methods

addChar (c:Int):Void

Add the given UTF8 character code to the buffer.

toString ():String

Returns the buffer converted to a String.

Static methods

staticchar (unicode:Int):String

Available on lua

staticcharCodeAt (s:String, index:Int):Int

Similar to String.charCodeAt but uses the UTF8 character position.

staticcompare (a:String, b:String):Int

Compare two UTF8 strings, character by character.

staticdecode (s:String):String

Decode an UTF8 string back to an ISO string. Throw an exception if a given UTF8 character is not supported by the decoder.

staticencode (s:String):String

Encode the input ISO string into the corresponding UTF8 one.

staticiter (s:String, chars:Int ‑> Void):Void

Call the chars function for each UTF8 char of the string.

staticlength (s:String):Int

Returns the number of UTF8 chars of the String.

staticsub (s:String, pos:Int, len:Int):String

This is similar to String.substr but the pos and len parts are considering UTF8 characters.

staticvalidate (s:String):Bool

Tells if the String is correctly encoded as UTF8.