Defined in carb/extras/Utf8Parser.h

inline size_t carb::extras::convertUtf8StringToWide(const char *str, wchar_t *out, size_t outLen) noexcept

Convert a UTF-8 encoded string to wide string.


This is provided for interoperability with older systems that still use wide strings. Please use UTF-8 or UTF-32 for new systems.

  • str[in] The input UTF-8 string to convert. This may not be nullptr.

  • out[out] The output buffer to hold the wide data. This must be at least outLen in length, in elements. This can be nullptr to calculate the required output buffer length. The output string written to out will always be null terminated (unless outLen is 0), even if the string had to be truncated.

  • outLen[in] The length of out, in elements. This should be 1 if out is nullptr.


If out is not nullptr, this returns the number of wide characters written to out. This includes the null terminating character.


If out is nullptr, this returns the required buffer length to store the output string.