我可以在 ICU 中从字符*转换为 UChar 吗?

can i convert from char* to UChar in ICU?

本文关键字:转换 UChar 字符 ICU 我可以      更新时间:2023-10-16

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

如何进行此转换?

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

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

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

您可以使用静态成员函数FromUTF8将 UTF-8 StringPiece转换为UnicodeString。因此,如果您有字符*,则可以像这样转换它:

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