NAME

src/string/encoding/ucs2.c - UCS-2 encoding

DESCRIPTION

UCS-2 encoding with the help of the ICU library.

Functions

static STRING *to_encoding
Converts the string src to this particular encoding. If dest is provided, it will contain the result. Otherwise this function operates in place.
static UINTVAL get_codepoint
Returns the codepoint in string src at position offset.
static void set_codepoint
Sets, in string src at position offset, the codepoint codepoint.
static UINTVAL get_byte
Returns the byte in string src at position offset.
static void set_byte
Sets, in string src at position offset, the byte byte.
static STRING *get_codepoints
Returns the codepoints in string src at position offset and length count.
static STRING *get_bytes
Returns the bytes in string src at position offset and length count.
static STRING *get_codepoints_inplace
Gets from string src at position offset count codepoints and returns them in return_string.
static STRING *get_bytes_inplace
Gets from string src at position offset count bytes and returns them in return_string.
static void set_codepoints
Replaces in string src at position offset for count codepoints with the contents of string new_codepoints.
static void set_bytes
Replaces in string src at position offset for count bytes with the contents of string new_bytes.
static void become_encoding
Unconditionally makes the string be in this encoding, if that's valid
static UINTVAL codepoints
Returns the number of codepoints in string src.
static UINTVAL bytes
Returns the number of bytes in string src.
static UINTVAL ucs2_decode_and_advance
Moves the string iterator i to the next UCS-2 codepoint.
static void ucs2_encode_and_advance
With the string iterator i, appends the codepoint c and advances to the next position in the string.
static void ucs2_set_position
Moves the string iterator i to the position n in the string.
static void iter_init
Initializes for string src the string iterator iter.
ENCODING *Parrot_encoding_ucs2_init
Initializes the UCS-2 encoding.

SEE ALSO

src/string/encoding/fixed_8.c, src/string/encoding/utf8.c, src/string.c, include/parrot/string.h, docs/string.pod.