wchar_t for Linux上的UTF-16?

前端之家收集整理的这篇文章主要介绍了wchar_t for Linux上的UTF-16?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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函数来处理它(并且它们不是’似乎已经实施了).

猜你在找的Linux相关文章