我可以从IC *转换为ICU的UChar吗?

时间:2011-05-10 17:55:33

标签: c++ icu

我有一个char *(包含utf-8字符串),我想传递给ICU将其转换为ANSI(ISO-8859-6)。不幸的是,似乎大多数ICU功能都采用UChar而不是char *。

如何进行此转换?

2 个答案:

答案 0 :(得分:4)

你看过文档了吗? UnicodeString::fromUTF8脱颖而出......

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

我假设您知道如何使用UnicodeString::extractustr转换为所需的代码页。

答案 1 :(得分:1)

您可以使用静态成员函数FromUTF8将UTF-8 StringPiece转换为UnicodeString。所以,如果你有一个char *,你可以像这样转换它:

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