加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

wchar_t for Linux上的UTF-16?

发布时间:2020-12-14 01:49:11 所属栏目: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函数来处理它(并且它们不是’似乎已经实施了).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读