2

我正在使用 GCC。我有一个包含 UTF-8 字符的十六进制值的字符串,如下所示:

char[] str = "4e86"

(这种字符串是从 xml 文件中读出的)。我希望将其转换为包含字符 \u4e86 的 wchar。

我知道我可以直接定义

wchar_t wc = L'\u4e86';

但我想要这样的功能

wchar_t wc = convert(str)

如何?

4

1 回答 1

4

尝试这个:

char[] str = "4e86";
wchar_t wc = strtol(str, NULL, 16);

(参考:https ://stackoverflow.com/a/10156436/999400 )

于 2013-08-15T21:42:03.360 回答