继续编码转换
Unicode 有两套编码集,UCS-2 和 UCS-4。Windows 的内部其实是用的 UCS-2 标准,并用 UTF-16 来实现。而非 Windows 系统大多采用了 UTF-8 实现。
大家都知道在windows上wchar_t是2个字节表示,而在Linux上wchar_t是4个字节表示的。这样写跨平台的程序时,就会不统一。
下面是我用到的几个函数,wchar_t与UTF-8编码之间的转换和UTF-16和wchar_t之间的转换。
ps:在Linux上我用的是iconv库.其中wchar_t一般以UCS-4标准。
UCS-4-INTERNAL ,UCS-2-INTERNAL 会根据本机的存储方式(大端、小端)进行处理。
还有UCS-2LE和UCS-2BE 分别代表小端和大端模式。
这篇博客介绍了在Windows和非Windows系统中,如何进行wchar_t、UTF-8和UTF-16之间的转换。在Windows上,使用WideCharToMultiByte和MultiByteToWideChar函数;在非Windows系统中,利用iconv库进行转换。示例代码展示了具体的转换函数实现。

1010

被折叠的 条评论
为什么被折叠?



