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.