2

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

我怎样才能进行这种转换?

4

2 回答 2

4

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

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

我假设您知道如何ustr使用UnicodeString::extract.

于 2011-05-10T18:09:25.103 回答
1

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

const char* str;
size_t len;
UnicodeString ucs = UnicodeString::FromUTF8(StringPiece(str, len));
于 2011-05-10T18:09:51.260 回答