compare package:text-icu
Compare two strings for canonical equivalence. Further options include
case-insensitive comparison and codepoint order (as opposed to code
unit order).
Canonical equivalence between two strings is defined as their
normalized forms (
NFD or
NFC) being identical. This
function compares strings incrementally instead of normalizing (and
optionally case-folding) both strings entirely, improving performance
significantly.
Bulk normalization is only necessary if the strings do not fulfill the
FCD conditions. Only in this case, and only if the strings are
relatively long, is memory allocated temporarily. For
FCD
strings and short non-
FCD strings there is no memory
allocation.
Compare two strings for canonical equivalence. Further options include
case-insensitive comparison and codepoint order (as opposed to code
unit order).
Canonical equivalence between two strings is defined as their
normalized forms (
NFD or
NFC) being identical. This
function compares strings incrementally instead of normalizing (and
optionally case-folding) both strings entirely, improving performance
significantly.
Bulk normalization is only necessary if the strings do not fulfill the
FCD conditions. Only in this case, and only if the strings
are relatively long, is memory allocated temporarily. For
FCD
strings and short non-
FCD strings there is no memory
allocation.
Do a fuzzy compare of two converter/alias names. The comparison is
case-insensitive, ignores leading zeroes if they are not followed by
further digits, and ignores all but letters and digits. Thus the
strings
"UTF-8",
"utf_8",
"u*T@f08" and
"Utf 8" are exactly equivalent. See section 1.4, Charset
Alias Matching in Unicode Technical Standard #22 at
http://www.unicode.org/reports/tr22/
This is equivalent to `compareUnicode []`.
Compare strings case-insensitively using case folding, instead of
case-sensitively. If set, then the following case folding options are
used.