я могу преобразовать из char * в UChar в ICU? - PullRequest
2 голосов
/ 10 мая 2011

У меня есть символ * (содержащий строку utf-8), который я хочу передать в ICU для преобразования его в ANSI (ISO-8859-6). К сожалению, похоже, что большинство функций ICU принимают UChar, а не char *.

Как я могу сделать это преобразование?

Ответы [ 2 ]

4 голосов
/ 10 мая 2011

Вы смотрели на документы? UnicodeString::fromUTF8 выделяется ...

// given char* str
UnicodeString ustr = UnicodeString::fromUTF8(StringPiece(str));

Полагаю, вы знаете, как преобразовать ustr в нужную кодовую страницу, используя UnicodeString::extract.

1 голос
/ 10 мая 2011

Статическую функцию-член FromUTF8 можно использовать для преобразования UTF-8 StringPiece в UnicodeString.Итак, если у вас есть символ *, вы можете преобразовать его следующим образом:

const char* str;
size_t len;
UnicodeString ucs = UnicodeString::FromUTF8(StringPiece(str, len));
...