BloombergLP::bdlde::CharConvertUtf16::computeRequiredUtf8Bytes

Return the UTF-8 byte count needed for the given UTF-16 input.

Synopsis

Declared in <bdlde_charconvertutf16.h>

static
std::size_t
computeRequiredUtf8Bytes(
    unsigned short const* srcBuffer,
    unsigned short const* endPtr = 0,
    ByteOrder::Enum byteOrder = ByteOrder::e_HOST);

Description

Return the length needed in bytes, for a buffer to hold the null-terminated UTF-8 string translated from the specified UTF-16 string srcBuffer (including the terminating '0' in the returned count). Optionally specify endPtr, referring to one past the last input character. If endPtr is not supplied, or is 0, treat srcBuffer as 0 terminated. Optionally specify byteOrder indicating the byte order of srcBuffer; if byteOrder is not supplied, the host byte order is used. Note that this function will return the size utf16ToUtf8 will require, assuming the errorByte argument to utf16ToUtf8 is non-zero.

Return Value

the number of UTF-8 bytes required, including the terminating 0

Parameters

NameDescription
srcBuffersource buffer to measure
endPtrone past the last input character, or 0 if null-terminated
byteOrderUTF-16 byte order; host order if unspecified