|
Yate
|
A single Unicode character. More...
#include <yateclass.h>
Public Types | |
| enum | Endianness { LE = 0, BE = 1, Native = 2 } |
Public Member Functions | |
| UChar (uint32_t code=0) | |
| UChar (int32_t code) | |
| UChar (signed char code) | |
| UChar (unsigned char code) | |
| UChar & | operator= (uint32_t code) |
| UChar & | operator= (char code) |
| uint32_t | code () const |
| const char * | c_str () const |
| operator const char * () const | |
| bool | decode (const char *&str, uint32_t maxChar=0x10ffff, bool overlong=false) |
| bool | decode (uint16_t *&buff, unsigned int &len, Endianness order, uint32_t maxChar=0x10ffff) |
| bool | decode (DataBlock &buff, Endianness order, uint32_t maxChar=0x10ffff) |
| bool | encode (uint16_t *&buff, unsigned int &len, Endianness order) |
| bool | encode (DataBlock &buff, Endianness order) |
Static Public Member Functions | |
| static bool | decode (String &out, uint16_t *&buff, unsigned int &len, Endianness order, bool checkBOM=false, uint32_t maxChar=0x10ffff) |
| static bool | encode (DataBlock &out, const char *&str, Endianness order, bool addBOM=false) |
| static bool | encode (uint16_t *&buff, unsigned int &len, const char *&str, Endianness order, bool addBOM=false) |
A single Unicode character.
A simple class to hold a single Unicode character and convert it to / from UTF-8
|
inlineexplicit |
Constructor from unsigned numeric code
| code | Code of the Unicode character |
References UChar::encode().
|
inlineexplicit |
Constructor from signed numeric code
| code | Code of the Unicode character |
References UChar::encode().
|
inlineexplicit |
Constructor from signed character
| code | Character to construct from |
References UChar::encode().
|
inlineexplicit |
Constructor from unsigned character
| code | Character to construct from |
References UChar::encode().
|
inline |
Get the value of the character as UTF-8 string.
|
inline |
Get the Unicode value of the character
Referenced by UChar::operator=().
| bool decode | ( | const char *& | str, |
| uint32_t | maxChar = 0x10ffff, |
||
| bool | overlong = false |
||
| ) |
Decode the first Unicode character from an UTF-8 C string
| str | String to extract from, will be advanced past the character |
| maxChar | Maximum accepted Unicode character code |
| overlong | Accept overlong UTF-8 sequences (dangerous!) |
| bool decode | ( | uint16_t *& | buff, |
| unsigned int & | len, | ||
| Endianness | order, | ||
| uint32_t | maxChar = 0x10ffff |
||
| ) |
Decode the first Unicode character from an UTF-16 string
| buff | Input buffer, advanced if decoding succeeds |
| len | Length of input buffer, updated if decoding succeeds |
| order | Endianness to use for decoding the character |
| maxChar | Maximum accepted Unicode character code |
| bool decode | ( | DataBlock & | buff, |
| Endianness | order, | ||
| uint32_t | maxChar = 0x10ffff |
||
| ) |
Decode the first Unicode character from an UTF-16 string
| buff | Input buffer from which to decode the character |
| order | Endianness to use for decoding the character |
| maxChar | Maximum accepted Unicode character code |
|
static |
Decode a UTF-16 encoded string
| out | String to append the decoded characters to |
| buff | Input buffer to decode, advanced as decoding occurs |
| len | Length of input buffer, decremented as decoding occurs |
| order | Endianness to use for decoding |
| checkBOM | Check for presence of BOM and interpret accordingly if present |
| maxChar | Maximum accepted Unicode character code |
| bool encode | ( | uint16_t *& | buff, |
| unsigned int & | len, | ||
| Endianness | order | ||
| ) |
Encode the Unicode character to UTF-16 into a given buffer
| buff | Buffer where to put encoded character, advanced after encoding |
| len | Available space in given buffer, updated after encoding |
| order | Endianness to use for encoding the character |
Referenced by UChar::operator=(), and UChar::UChar().
| bool encode | ( | DataBlock & | buff, |
| Endianness | order | ||
| ) |
|
static |
|
static |
Encode a string to UTF-16 into a given buffer
| buff | Buffer where to put encoded character, advanced after encoding |
| len | Available space in given buffer, updated after encoding |
| str | String to be encoded |
| order | Endianness to use for encoding the character |
| addBOM | True to add BOM to the resulting encoding |
|
inline |
Conversion to "const char *" operator.
|
inline |
Assignment operator from a character code
| code | Character code to assign |
References UChar::code(), and UChar::encode().
|
inline |
Assignment operator from a character
| code | Character to assign |
References UChar::encode().
1.8.8