Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

dmd.root.utf

Functions related to UTF encoding.
Authors:

Source utf.d

pure nothrow @nogc @safe bool utf_isValidDchar(dchar c);
The Unicode code space is the range of code points [0x000000,0x10FFFF] except the UTF-16 surrogate pairs in the range [0xD800,0xDFFF]
pure nothrow @nogc @safe int utf_codeLengthChar(dchar c);
Returns the code length of c in code units.
pure nothrow @nogc @safe int utf_codeLength(int sz, dchar c);
Returns the code length of c in code units for the encoding. sz is the encoding: 1 = utf8, 2 = utf16, 4 = utf32.
pure nothrow @nogc @safe bool isBidiControl(dchar c);
Checks whether an Unicode code point is a bidirectional control character.
pure nothrow @nogc @safe string utf_decodeChar(const(char)[] s, ref size_t ridx, out dchar rresult);
Decode a UTF-8 sequence as a single UTF-32 code point.
Parameters:
const(char)[] s UTF-8 sequence
size_t ridx starting index in s[], updated to reflect number of code units decoded
dchar rresult set to character decoded
Returns:
null on success, otherwise error message string
pure nothrow @nogc @safe string utf_decodeWchar(const(wchar)[] s, ref size_t ridx, out dchar rresult);
Decode a UTF-16 sequence as a single UTF-32 code point.
Parameters:
const(wchar)[] s UTF-16 sequence
size_t ridx starting index in s[], updated to reflect number of code units decoded
dchar rresult set to character decoded
Returns:
null on success, otherwise error message string