我正在尝试编写一些仅在用户具有gcc且已安装glib的情况下才可移植的C代码。

从我的所有研究中,我发现gcc始终将wchar_t定义为4个字节,而glib则将gunichar始终定义为4个字节。

尚未知道的是,是否像gunichar一样,将wchar_t也编码为UCS4。是这样吗如果是这样,我应该能够简单地将gunichar*转换为wchar_t*并使用stdc wcs*函数,对吗?

最佳答案

如果您使用GLib,请不要使用wchar_t。使用其unicode支持,它比C标准库的支持要好得多。
wchar_t在Linux和Mac OS(及其他一些操作系统)上为4字节,而不是Windows(在此为2个字节),在其他操作系统上则为4字节。可移植代码意味着像瘟疫一样避免wchar_t

09-06 14:02