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

发布于 2024-11-06 10:00:48 字数 144 浏览 4 评论 0 原文

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

如何进行此转换?

I have a char * (containing utf-8 string) that i want to pass to ICU to convert it to ANSI (ISO-8859-6) . Unfortunately it seems that most ICU functions take UChar not char*.

How can I make this conversion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

海的爱人是光 2024-11-13 10:00:48

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

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

我假设您知道如何使用 ustr 转换为所需的代码页 href="http://icu-project.org/apiref/icu4c/classUnicodeString.html#ac15fabe40a5101c6419492dc751da345" rel="nofollow">UnicodeString::extract

Did you look at the docs? UnicodeString::fromUTF8 stands out...

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

I assume you know how to then convert ustr to the desired codepage using UnicodeString::extract.

如果没有 2024-11-13 10:00:48

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

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

You can use the static member function FromUTF8 to convert a UTF-8 StringPiece to a UnicodeString. So, if you have a char*, you can convert it like this:

const char* str;
size_t len;
UnicodeString ucs = UnicodeString::FromUTF8(StringPiece(str, len));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文