[#BloombergLP-bdlde] = xref:BloombergLP.adoc[BloombergLP]::bdlde :relfileprefix: ../ :mrdocs: Components in the `bdlde` package provide character encoding utilities. == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlde/Base64Alphabet.adoc[`Base64Alphabet`] | This `struct` provides a namespace for enumerating the set of alphabets. See `Enum` in the TYPES sub‐section for details. | xref:BloombergLP/bdlde/Base64Decoder.adoc[`Base64Decoder`] | This class implements a mechanism capable of converting data of arbitrary length from its corresponding Base64 representation. | xref:BloombergLP/bdlde/Base64DecoderOptions.adoc[`Base64DecoderOptions`] | This `class` stores the configuration of a `Base64Decoder`. | xref:BloombergLP/bdlde/Base64Encoder.adoc[`Base64Encoder`] | This class implements a mechanism capable of converting data of arbitrary length to its corresponding Base64 representation. | xref:BloombergLP/bdlde/Base64EncoderOptions.adoc[`Base64EncoderOptions`] | This `class` stores the configuration of a `Base64Encoder`. | xref:BloombergLP/bdlde/Base64IgnoreMode.adoc[`Base64IgnoreMode`] | This `struct` provides a namespace for enumerating the set of ignore modes. See `Enum` in the TYPES sub‐section for details. | xref:BloombergLP/bdlde/ByteOrder.adoc[`ByteOrder`] | This `struct` provides a namespace for enumerating the set of byte orders. See `Enum` in the TYPES sub‐section for details. | xref:BloombergLP/bdlde/CharConvertStatus.adoc[`CharConvertStatus`] | This `struct` provides a namespace for enumerating the set of mask codes that can be used to interpret `int` return values from translation functions in `bdede`. | xref:BloombergLP/bdlde/CharConvertUcs2.adoc[`CharConvertUcs2`] | This `struct` provides a namespace for a suite of pure procedures to convert character buffers between UTF‐8 and UCS‐2. UCS‐2 conversions are performed to/from the full `2 ˆ 16` bit space (the "UTF‐16" hole U+D800‐U+DFFF is not treated as a special case). Note that all C‐style routines in this component honor _strlcpy_ semantics, meaning that all returned C‐style strings will be null‐terminated as long as the return buffer size is positive (i.e., `dstCapacity > 0`). Note that since all UCS‐2 operations take place as `unsigned short`s, byte order is not taken into consideration, and Byte Order Mark (BOM) characters are not generated. If a BOM is present in the input, it will be translated into the output. | xref:BloombergLP/bdlde/CharConvertUtf16.adoc[`CharConvertUtf16`] | This `struct` provides a namespace for a suite of static functions to convert buffers or containers between UTF‐8 and UTF‐16. Note that Byte Order Mark (BOM) sequences are neither generated nor recognized as special. If a BOM is present in the input, it will be translated, whether correct (`0xfeff`) or incorrect (`0xfffe`), into the output without any special handling. | xref:BloombergLP/bdlde/CharConvertUtf32.adoc[`CharConvertUtf32`] | This `struct` provides a namespace for a suite of static functions to convert buffers between UTF‐8 and UTF‐32. Byte Order Mark (BOM) code points are neither generated nor recognized as special, and thus may be incorrect for the actual byte order of output. If a BOM is present in the input, it will be translated, whether correct (`0xfeff`) or incorrect (`0xfffe`), into the output without any special handling. | xref:BloombergLP/bdlde/Crc32.adoc[`Crc32`] | This class represents a CRC‐32 checksum value that can be updated as data is provided. | xref:BloombergLP/bdlde/Crc32c.adoc[`Crc32c`] | This class provides runtime‐efficient utilities to calculate a CRC32‐C checksum. | xref:BloombergLP/bdlde/Crc64.adoc[`Crc64`] | This class represents a CRC‐64 checksum value that can be updated as data is provided. | xref:BloombergLP/bdlde/HexDecoder.adoc[`HexDecoder`] | This class implements a mechanism capable of converting data of arbitrary length from its corresponding Hex representation. | xref:BloombergLP/bdlde/HexEncoder.adoc[`HexEncoder`] | This class implements a mechanism capable of converting data of arbitrary length to its corresponding Hex representation. | xref:BloombergLP/bdlde/Md5.adoc[`Md5`] | This `class` represents an MD5 digest that can be updated as additional data is provided. | xref:BloombergLP/bdlde/QuotedPrintableDecoder.adoc[`QuotedPrintableDecoder`] | This class implements a mechanism capable of converting data of arbitrary length from its corresponding Quoted‐Printable representation. | xref:BloombergLP/bdlde/QuotedPrintableEncoder.adoc[`QuotedPrintableEncoder`] | This class implements a mechanism capable of converting data of arbitrary length to its corresponding Quoted‐Printable representation. | xref:BloombergLP/bdlde/Sha1.adoc[`Sha1`] | This `class` represents a SHA‐1 digest that can be updated as additional data is provided. | xref:BloombergLP/bdlde/Sha224.adoc[`Sha224`] | This `class` represents a SHA‐224 digest that can be updated as additional data is provided. | xref:BloombergLP/bdlde/Sha256.adoc[`Sha256`] | This `class` represents a SHA‐256 digest that can be updated as additional data is provided. | xref:BloombergLP/bdlde/Sha384.adoc[`Sha384`] | This `class` represents a SHA‐384 digest that can be updated as additional data is provided. | xref:BloombergLP/bdlde/Sha512.adoc[`Sha512`] | This `class` represents a SHA‐512 digest that can be updated as additional data is provided. | xref:BloombergLP/bdlde/Utf8CheckingInStreamBufWrapper.adoc[`Utf8CheckingInStreamBufWrapper`] | This `class` inherits from `bsl::streambuf`, and holds and wraps another `streambuf`. It forwards input through the held streambuf, and checks for invalid UTF‐8. The wrapping object does not support ouput, only input. If the held `streambuf` supports seeking, seeks are supported, though not forward seeks, and `pubseekoff(0, bsl::ios_base::cur)` is supported whether the wrapped `streambuf` supports seeking or not. | xref:BloombergLP/bdlde/Utf8Util.adoc[`Utf8Util`] | This struct provides a namespace for static methods used for validating UTF‐8 strings, for counting the number of Unicode code points in them, for advancing pointers through UTF‐8 strings by a specified number of Unicode code points, for counting the number of bytes a UTF‐8 leading substring occupies, for counting the number of bytes in a UTF‐8 character, and for appending a Unicode character to a UTF‐8 string. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlde/operator_lshift-00.adoc[`operator<<`] | Stream insertion operators | xref:BloombergLP/bdlde/operator_eq-01.adoc[`operator==`] | Equality operators | xref:BloombergLP/bdlde/operator_not_eq-00.adoc[`operator!=`] | Inequality operators |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#