mdz_utf8 overview - maxdz-gmbh/mdz_unicode GitHub Wiki
mdz_utf8 description
mdz_utf8 is dynamically-sized contiguous string, containing UTF-8 characters
If only ASCII/ANSI characters should be stored/processed - use mdz_ansi instead. It is much more speedy.
Capacity - how many bytes of memory is reserved.
Size - how many bytes are actually used in a string, excluding terminating 0.
Length - actual length of string in UTF-8 symbols, excluding terminating 0.
"reserve/AndReserve" functions allocate/reallocate memory dynamically using malloc()/realloc().
"attach" functionality allows attaching contiguous block of memory to string, for using string functions on it.
Unicode "combining characters" are not specially-distinguished and counted as a distinct symbols.