如何将包含 UTF-8 十六进制值的字符串转换为 C 中的 wchar?
Posted
技术标签:
【中文标题】如何将包含 UTF-8 十六进制值的字符串转换为 C 中的 wchar?【英文标题】:How to convert a string containting the hex value of a UTF-8 to a wchar in C? 【发布时间】:2013-08-18 05:00:31 【问题描述】:我正在使用 GCC。我有一个包含 UTF-8 字符的十六进制值的字符串,如下所示:
char[] str = "4e86"
(这种类型的字符串是从 xml 文件中读出的)。 我希望将其转换为包含字符 \u4e86 的 wchar。
我知道我可以直接定义
wchar_t wc = L'\u4e86';
但我想要这样的功能
wchar_t wc = convert(str)
怎么做?
【问题讨论】:
【参考方案1】:试试这个:
char[] str = "4e86";
wchar_t wc = strtol(str, NULL, 16);
(参考:https://***.com/a/10156436/999400)
【讨论】:
以上是关于如何将包含 UTF-8 十六进制值的字符串转换为 C 中的 wchar?的主要内容,如果未能解决你的问题,请参考以下文章