chsvlib
chsv helper source code

◆ u8_decode_string() [5/8]

std::basic_string<ucp_t, CharTraits, Allocator> Chusov::String::u8_decode_string ( const char(&)  pUtf8[N])

Produces a C++ string of Unicode 11.0 code points from an array of bytes encoding a UTF-8 string. .

Template Parameters
CharTraitsspecifies a CharTraits type used to instantiate the std::basic_string class in order to produce the output string. By default it is an instantiation of std::char_traits for the type ucp_t. Such specialization is provided by the chsvlib library to treat ucp_t based strings as case-sensitive and 0-terminated.
Allocatoris a type of an Allocator used to instantiate the returned string object. By default it resolves to
std::allocator<ucp_t>
.
Nis a size of the array pUtf8. This size will not necessarily be equal to the length of the resulting string, unless pUtf8 is not zero-terminated.
Parameters
pUtf8is an array of bytes specifying a UTF-8 string to convert to the resulting ucp_t based string. If the last byte of the array has zero value, it is truncated from the resulting string of Unicode code points.
Returns
A newly created string, an instantiation of std::basic_string, with Unicode 11.0 code points as its elements along with optionally specified CharTraits and Allocator.
Exceptions
Chusov::Exceptions::InvalidCharSequenceExceptionThe specified UTF-8 string is detected to contain an invalid or incomplete multi-byte UTF-8 character.
See also
ucp_string