gpt4 book ai didi

c - 为什么 wchar_t 没有广泛用于 Linux/相关平台的代码中?

转载 作者:太空狗 更新时间:2023-10-29 16:35:07 26 4
gpt4 key购买 nike

这让我很感兴趣,所以我要问 - 为什么 wchar_t 在 Linux/类 Linux 系统上没有像在 Windows 上那样广泛使用?具体来说,Windows API 在内部使用 wchar_t 而我相信 Linux 不会,这反射(reflect)在许多使用 char 类型的开源包中。

我的理解是给定一个字符c需要多个字节来表示它,然后在char[]形式c被拆分在 char* 的几个部分上,而它在 wchar_t[] 中形成一个单元。那么,总是使用 wchar_t 不是更容易吗?我错过了否定这种差异的技术原因吗?或者这只是一个收养问题?

最佳答案

wchar_t 是一个具有平台定义宽度的宽字符,这并没有太大帮助。

UTF-8 字符每个字符跨越 1-4 个字节。 UCS-2 每个字符恰好跨越 2 个字节,现已过时并且不能表示完整的 Unicode 字符集。

支持 Unicode 的 Linux 应用程序倾向于在字节存储层之上正确地执行此操作。 Windows 应用程序倾向于作出这种愚蠢的假设,即只有两个字节就可以了。

wchar_t's Wikipedia article简要介绍了这一点。

关于c - 为什么 wchar_t 没有广泛用于 Linux/相关平台的代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com