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.