[#BloombergLP-bdlde]
= xref:BloombergLP.adoc[BloombergLP]::bdlde
:relfileprefix: ../
:mrdocs:

Components in the `bdlde` package provide character encoding utilities&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlde/Base64Alphabet.adoc[`Base64Alphabet`] 
| This `struct` provides a namespace for enumerating the set of alphabets&period; See `Enum` in the TYPES sub&hyphen;section for details&period;
| xref:BloombergLP/bdlde/Base64Decoder.adoc[`Base64Decoder`] 
| This class implements a mechanism capable of converting data of arbitrary length from its corresponding Base64 representation&period;
| xref:BloombergLP/bdlde/Base64DecoderOptions.adoc[`Base64DecoderOptions`] 
| This `class` stores the configuration of a `Base64Decoder`&period;
| xref:BloombergLP/bdlde/Base64Encoder.adoc[`Base64Encoder`] 
| This class implements a mechanism capable of converting data of arbitrary length to its corresponding Base64 representation&period;
| xref:BloombergLP/bdlde/Base64EncoderOptions.adoc[`Base64EncoderOptions`] 
| This `class` stores the configuration of a `Base64Encoder`&period;
| xref:BloombergLP/bdlde/Base64IgnoreMode.adoc[`Base64IgnoreMode`] 
| This `struct` provides a namespace for enumerating the set of ignore modes&period; See `Enum` in the TYPES sub&hyphen;section for details&period;
| xref:BloombergLP/bdlde/ByteOrder.adoc[`ByteOrder`] 
| This `struct` provides a namespace for enumerating the set of byte orders&period; See `Enum` in the TYPES sub&hyphen;section for details&period;
| 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`&period;
| xref:BloombergLP/bdlde/CharConvertUcs2.adoc[`CharConvertUcs2`] 
| This `struct` provides a namespace for a suite of pure procedures to convert character buffers between UTF&hyphen;8 and UCS&hyphen;2&period; UCS&hyphen;2 conversions are performed to&sol;from the full `2 &circ; 16` bit space (the &quot;UTF&hyphen;16&quot; hole U&plus;D800&hyphen;U&plus;DFFF is not treated as a special case)&period; Note that all C&hyphen;style routines in this component honor _strlcpy_ semantics, meaning that all returned C&hyphen;style strings will be null&hyphen;terminated as long as the return buffer size is positive (i&period;e&period;, `dstCapacity &gt; 0`)&period; Note that since all UCS&hyphen;2 operations take place as `unsigned short`s, byte order is not taken into consideration, and Byte Order Mark (BOM) characters are not generated&period; If a BOM is present in the input, it will be translated into the output&period;
| xref:BloombergLP/bdlde/CharConvertUtf16.adoc[`CharConvertUtf16`] 
| This `struct` provides a namespace for a suite of static functions to convert buffers or containers between UTF&hyphen;8 and UTF&hyphen;16&period; Note that Byte Order Mark (BOM) sequences are neither generated nor recognized as special&period; 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&period;
| xref:BloombergLP/bdlde/CharConvertUtf32.adoc[`CharConvertUtf32`] 
| This `struct` provides a namespace for a suite of static functions to convert buffers between UTF&hyphen;8 and UTF&hyphen;32&period; 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&period; 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&period;
| xref:BloombergLP/bdlde/Crc32.adoc[`Crc32`] 
| This class represents a CRC&hyphen;32 checksum value that can be updated as data is provided&period;
| xref:BloombergLP/bdlde/Crc32c.adoc[`Crc32c`] 
| This class provides runtime&hyphen;efficient utilities to calculate a CRC32&hyphen;C checksum&period;
| xref:BloombergLP/bdlde/Crc64.adoc[`Crc64`] 
| This class represents a CRC&hyphen;64 checksum value that can be updated as data is provided&period;
| xref:BloombergLP/bdlde/HexDecoder.adoc[`HexDecoder`] 
| This class implements a mechanism capable of converting data of arbitrary length from its corresponding Hex representation&period;
| xref:BloombergLP/bdlde/HexEncoder.adoc[`HexEncoder`] 
| This class implements a mechanism capable of converting data of arbitrary length to its corresponding Hex representation&period;
| xref:BloombergLP/bdlde/Md5.adoc[`Md5`] 
| This `class` represents an MD5 digest that can be updated as additional data is provided&period;
| xref:BloombergLP/bdlde/QuotedPrintableDecoder.adoc[`QuotedPrintableDecoder`] 
| This class implements a mechanism capable of converting data of arbitrary length from its corresponding Quoted&hyphen;Printable representation&period;
| xref:BloombergLP/bdlde/QuotedPrintableEncoder.adoc[`QuotedPrintableEncoder`] 
| This class implements a mechanism capable of converting data of arbitrary length to its corresponding Quoted&hyphen;Printable representation&period;
| xref:BloombergLP/bdlde/Sha1.adoc[`Sha1`] 
| This `class` represents a SHA&hyphen;1 digest that can be updated as additional data is provided&period;
| xref:BloombergLP/bdlde/Sha224.adoc[`Sha224`] 
| This `class` represents a SHA&hyphen;224 digest that can be updated as additional data is provided&period;
| xref:BloombergLP/bdlde/Sha256.adoc[`Sha256`] 
| This `class` represents a SHA&hyphen;256 digest that can be updated as additional data is provided&period;
| xref:BloombergLP/bdlde/Sha384.adoc[`Sha384`] 
| This `class` represents a SHA&hyphen;384 digest that can be updated as additional data is provided&period;
| xref:BloombergLP/bdlde/Sha512.adoc[`Sha512`] 
| This `class` represents a SHA&hyphen;512 digest that can be updated as additional data is provided&period;
| xref:BloombergLP/bdlde/Utf8CheckingInStreamBufWrapper.adoc[`Utf8CheckingInStreamBufWrapper`] 
| This `class` inherits from `bsl&colon;&colon;streambuf`, and holds and wraps another `streambuf`&period; It forwards input through the held streambuf, and checks for invalid UTF&hyphen;8&period; The wrapping object does not support ouput, only input&period; If the held `streambuf` supports seeking, seeks are supported, though not forward seeks, and `pubseekoff(0, bsl&colon;&colon;ios&lowbar;base&colon;&colon;cur)` is supported whether the wrapped `streambuf` supports seeking or not&period;
| xref:BloombergLP/bdlde/Utf8Util.adoc[`Utf8Util`] 
| This struct provides a namespace for static methods used for validating UTF&hyphen;8 strings, for counting the number of Unicode code points in them, for advancing pointers through UTF&hyphen;8 strings by a specified number of Unicode code points, for counting the number of bytes a UTF&hyphen;8 leading substring occupies, for counting the number of bytes in a UTF&hyphen;8 character, and for appending a Unicode character to a UTF&hyphen;8 string&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlde/operator_lshift-00.adoc[`operator&lt;&lt;`] 
| Stream insertion operators
| xref:BloombergLP/bdlde/operator_eq-01.adoc[`operator&equals;&equals;`] 
| Equality operators
| xref:BloombergLP/bdlde/operator_not_eq-00.adoc[`operator!&equals;`] 
| Inequality operators
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
