This tutorial describes the steps to convert between Unicode and UTF8.
EscapeUtils
escape
encodes and decodes unsafe data in URI. It also supports converting of Unicode
data (16-bit descriptor) into UTF8 data (8-bit descriptor) and vice-versa.
Converting to UTF8
EscapeUtils::ConvertFromUnicodeToUtf8L()
converts
the Unicode data into UTF8 format.
_LIT16(KUnicode, "Unicode string"); //data to be converted HBufC8* utf8 = EscapeUtils::ConvertFromUnicodeToUtf8L(KUnicode);
utf8
contains
the UTF8 form of the string.
Converting to Unicode
EscapeUtils::ConvertToUnicodeFromUtf8L()
converts
the data from UTF8 format to Unicode.
_LIT8(KUtf8, "UTF-8 string"); // UTF8 string to be converted HBufC16* unicode = EscapeUtils::ConvertToUnicodeFromUtf8L(KUtf8); // convert the srting to Unicode
unicode
contains the Unicode form
of the string.
Call EscapeUtils::IsEscapeTriple
to
check if the input data contains an escape triple. For example, %2a
.
If there is a triple, its value is calculated and returned through the output
argument HexVal
. If there is no escape triple, then this
argument is left unchanged.
_LIT(KEscapeTriple1, "%2a"); // input data containing escape triple TInt KEscapeTriple1_value = 0x2a; TInt HexVal; EscapeUtils::IsEscapeTriple(KEscapeTriple1,HexVal); // escape triple value //variable HexVal contains value 0x2a
The code above returns '42' , the value of escape triple.