У меня есть символ * (содержащий строку utf-8), который я хочу передать в ICU для преобразования его в ANSI (ISO-8859-6). К сожалению, похоже, что большинство функций ICU принимают UChar, а не char *.
Как я могу сделать это преобразование?
Вы смотрели на документы? UnicodeString::fromUTF8 выделяется ...
UnicodeString::fromUTF8
// given char* str UnicodeString ustr = UnicodeString::fromUTF8(StringPiece(str));
Полагаю, вы знаете, как преобразовать ustr в нужную кодовую страницу, используя UnicodeString::extract.
ustr
UnicodeString::extract
Статическую функцию-член FromUTF8 можно использовать для преобразования UTF-8 StringPiece в UnicodeString.Итак, если у вас есть символ *, вы можете преобразовать его следующим образом:
FromUTF8
StringPiece
UnicodeString
const char* str; size_t len; UnicodeString ucs = UnicodeString::FromUTF8(StringPiece(str, len));