strlen is only applicable to strings, which are arrays with zero termination of char . All multibyte encodings allowed inside strings have the property that they do not contain internal null bytes, so strlen and other str functions such as strcat work fine.
If by "unicode" you mean wchar_t arrays, then this may contain zero bytes, but here it is not a problem, none of the wchar_t elements will be equal to zero. And you should not apply str functions to such arrays, they are not defined for them.
source share