pointer to the start of a UTF-8 encoded string
the maximum number of bytes to examine. If max is less than 0, then the string is assumed to be nul-terminated. If max is 0, p will not be examined and may be NULL.
the length of the string in characters
Computes the length of the string in characters, not including the terminating nul character.