10.1.2 Unicode

since Haxe 4.0.0

All Haxe targets except Neko support Unicode in strings by default. The compile-time define target.unicode is set on targets where Unicode is supported.

A string in Haxe code represents a valid sequence of Unicode codepoints. Due to differing internal representations of strings across targets, only the basic multilingual plane (BMP) is supported consistently: every BMP Unicode codepoint corresponds to exactly one string character.

It is still possible to work with strings including non-BMP characters on all targets without having to manually decode surrogate pairs by using the Unicode iterators API provided in the standard library.