wchar_t for Linux上的UTF-16?
发布时间:2020-12-13 19:01:06 所属栏目:Linux 来源:网络整理
导读:在Linux上使用wchar_t *存储UTF-16编码文本是否有意义?显而易见的问题是,Linux上的wchar_t是四个字节,而UTF-16通常每个字符需要两个(有时是两组)两个字节. 我正在尝试使用完全相同的第三方库,这似乎非常令人困惑.看起来事情搞砸了,因为在Windows上wchar_t是
在Linux上使用wchar_t *存储UTF-16编码文本是否有意义?显而易见的问题是,Linux上的wchar_t是四个字节,而UTF-16通常每个字符需要两个(有时是两组)两个字节. 我正在尝试使用完全相同的第三方库,这似乎非常令人困惑.看起来事情搞砸了,因为在Windows上wchar_t是两个字节,但我只想仔细检查,因为它是一个非常昂贵的商业库,可能我只是不明白的东西. 最佳答案
虽然可以在wchar_t中存储UTF-16,但是这样的wchar_t值(或者它们用作字符串的数组)不适合与任何使用wchar_t或指向wchar_t字符串的标准函数一起使用.因此,要回答你最初的问题“它是否有意义……?”,我会回答一个明确的否定.当然你可以使用uint16_t,或者C11 char16_t如果可用的话,虽然我没有看到任何理由为什么后者会更好,除非你也将使用C11函数来处理它(并且它们不是’似乎已经实施了).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |