Tizen Native API
Unicode String

This group discusses the functions that provide basic unicode string handling.

Eina_Unicode is a type that holds unicode codepoints.

Functions

size_t eina_unicode_strlen (const Eina_Unicode *ustr)
 Returns the length of a Eina_Unicode string.
size_t eina_unicode_strnlen (const Eina_Unicode *ustr, int n)
 Returns the length of a Eina_Unicode string, up to a limit.
Eina_Unicodeeina_unicode_strdup (const Eina_Unicode *text)
 Same as the standard strdup just with Eina_Unicode instead of char.
Eina_Unicodeeina_unicode_strndup (const Eina_Unicode *text, size_t n)
 Same as strdup but cuts on the given size. Assumes n < len.
int eina_unicode_strcmp (const Eina_Unicode *a, const Eina_Unicode *b) 2)
 Same as the standard strcmp just with Eina_Unicode instead of char.
Eina_Unicodeeina_unicode_strcpy (Eina_Unicode *dest, const Eina_Unicode *source) 2)
 Same as the standard strcpy just with Eina_Unicode instead of char.
Eina_Unicodeeina_unicode_strstr (const Eina_Unicode *haystack, const Eina_Unicode *needle) 2)
 Same as the standard strstr just with Eina_Unicode instead of char.
Eina_Unicodeeina_unicode_strncpy (Eina_Unicode *dest, const Eina_Unicode *source, size_t n) 2)
 Same as the standard strncpy just with Eina_Unicode instead of char.
Eina_Unicodeeina_unicode_escape (const Eina_Unicode *str)
 Escapes a unicode string.
Eina_Unicode eina_unicode_utf8_get_next (const char *buf, int *iindex) 2)
 Reads UTF8 bytes from buf, starting at iindex and returns the decoded code point at iindex offset, and advances iindex to the next code point after this. iindex is always advanced, unless the advancement is after NULL. On error, return a code point between DC80 and DCFF where the lower 8 bits are the byte's value.
Eina_Unicode eina_unicode_utf8_get_prev (const char *buf, int *iindex) 2)
 Reads UTF8 bytes from buf, starting at iindex and returns the decoded code point at iindex offset, and moves iindex to the previous code point. iindex is always moved, as long as it's not past the start of the string. On error, return a code point between DC80 and DCFF where the lower 8 bits are the byte's value.
int eina_unicode_utf8_get_len (const char *buf)
 Returns the number of unicode characters in the string. That is, the number of Eina_Unicodes it takes to store this string in an Eina_Unicode string.
Eina_Unicodeeina_unicode_utf8_to_unicode (const char *utf, int *_len)
 Converts a UTF-8 string to a newly allocated Eina_Unicode string.
char * eina_unicode_unicode_to_utf8 (const Eina_Unicode *uni, int *_len)
 Converts an Eina_Unicode string to a newly allocated UTF-8 string.

Typedefs

typedef unsigned int Eina_Unicode
 A type that holds Unicode codepoints.

Function Documentation

Escapes a unicode string.

Since :
2.3.1
Parameters:
[in]strThe string to escape
Returns:
The escaped string
See also:
eina_str_escape()
int eina_unicode_strcmp ( const Eina_Unicode a,
const Eina_Unicode b 
)

Same as the standard strcmp just with Eina_Unicode instead of char.

Parameters:
[in]aA string to be compared
[in]bA string to be compared
Returns:
an integer less than, equal to, or greater than zero if a is found, respectively, to be less than, to match, or be greater than b.
Since :
2.3.1
Eina_Unicode* eina_unicode_strcpy ( Eina_Unicode dest,
const Eina_Unicode source 
)

Same as the standard strcpy just with Eina_Unicode instead of char.

Parameters:
[in]destThe destination string
[in]sourceThe source string
Returns:
The copied string pointer
Since :
2.3.1

Same as the standard strdup just with Eina_Unicode instead of char.

Parameters:
[in]textThe string to be duplicated
Returns:
A new string
Since :
2.3.1
size_t eina_unicode_strlen ( const Eina_Unicode ustr)

Returns the length of a Eina_Unicode string.

This function returns the number of characters in a string.

Since :
2.3.1
Remarks:
If the terminating character is not found in the string, it can go infinite loop
Parameters:
[in]ustrThe string to search
Returns:
The number of characters
Eina_Unicode* eina_unicode_strncpy ( Eina_Unicode dest,
const Eina_Unicode source,
size_t  n 
)

Same as the standard strncpy just with Eina_Unicode instead of char.

Parameters:
[in]destThe destination string
[in]sourceThe source string
[in]nBytes to be copied
Returns:
The copied string pointer
Since :
2.3.1
Eina_Unicode* eina_unicode_strndup ( const Eina_Unicode text,
size_t  n 
)

Same as strdup but cuts on the given size. Assumes n < len.

This function duplicates text. The resulting string is cut on n. n is assumed to be lesser (<) than the length of text. When not needed anymore, the returned string must be freed.

Since (EFL) :
1.1.0
Since :
2.3.1
Parameters:
[in]textThe text to duplicate
[in]nThe maximum size of the text to duplicate
Returns:
The duplicated string
size_t eina_unicode_strnlen ( const Eina_Unicode ustr,
int  n 
)

Returns the length of a Eina_Unicode string, up to a limit.

This function returns the number of characters in a string, up to a maximum of n. If the terminating character is not found in the string, it returns n.

Since :
2.3.1
Parameters:
[in]ustrThe string to search
[in]nThe maximum length to search
Returns:
The number of characters or n
Eina_Unicode* eina_unicode_strstr ( const Eina_Unicode haystack,
const Eina_Unicode needle 
)

Same as the standard strstr just with Eina_Unicode instead of char.

Parameters:
[in]haystackThe string
[in]needleThe substring to be found
Returns:
haystack is returned
Since :
2.3.1
char* eina_unicode_unicode_to_utf8 ( const Eina_Unicode uni,
int *  _len 
)

Converts an Eina_Unicode string to a newly allocated UTF-8 string.

Since (EFL) :
1.1.0
Since :
2.3.1
Parameters:
[in]uniThe Eina_Unicode string
[out]_lenThe length of the returned UTF-8 string in bytes
Returns:
The newly allocated UTF-8 string
int eina_unicode_utf8_get_len ( const char *  buf)

Returns the number of unicode characters in the string. That is, the number of Eina_Unicodes it takes to store this string in an Eina_Unicode string.

Since (EFL) :
1.1.0
Since :
2.3.1
Parameters:
[in]bufThe string
Returns:
The number of unicode characters (not bytes) in the string
Eina_Unicode eina_unicode_utf8_get_next ( const char *  buf,
int *  iindex 
)

Reads UTF8 bytes from buf, starting at iindex and returns the decoded code point at iindex offset, and advances iindex to the next code point after this. iindex is always advanced, unless the advancement is after NULL. On error, return a code point between DC80 and DCFF where the lower 8 bits are the byte's value.

Since (EFL) :
1.1.0
Since :
2.3.1
Parameters:
[in]bufThe string
[out]iindexThe index to look at and return from
Returns:
The found code point
Eina_Unicode eina_unicode_utf8_get_prev ( const char *  buf,
int *  iindex 
)

Reads UTF8 bytes from buf, starting at iindex and returns the decoded code point at iindex offset, and moves iindex to the previous code point. iindex is always moved, as long as it's not past the start of the string. On error, return a code point between DC80 and DCFF where the lower 8 bits are the byte's value.

Since (EFL) :
1.1.0
Since :
2.3.1
Parameters:
[in]bufThe string
[out]iindexThe index to look at and return from
Returns:
The found code point, 0 if buf or iindex are NULL
Eina_Unicode* eina_unicode_utf8_to_unicode ( const char *  utf,
int *  _len 
)

Converts a UTF-8 string to a newly allocated Eina_Unicode string.

Since (EFL) :
1.1.0
Since :
2.3.1
Parameters:
[in]utfThe string in UTF-8
[out]_lenThe length of the returned Eina_Unicode string
Returns:
The newly allocated Eina_Unicode string

Variable Documentation

Same as the standard strlen just with Eina_Unicode instead of char.

Since :
2.3.1