gpt4 book ai didi

c - wchar_t在不同平台上的编码

转载 作者:太空狗 更新时间:2023-10-29 15:36:01 24 4
gpt4 key购买 nike

我在不同平台(在我的例子中是 Windows 和 Linux)上遇到了编码问题。在 Windows 上,wchar_t 的大小是 2 个字节,而在 Linux 上是 4 个字节。我怎样才能将 wchar_t “标准化”为两个平台的相同大小?没有额外的库很难实现吗?现在,我的目标是 printf/wprintf API。数据通过套接字通信发送。谢谢。

最佳答案

如果您想跨不同平台和架构发送 Unicode 数据,我建议使用 UTF-8 编码和(8 位)char。 UTF-8 有一些优点,比如没有端序问题(UTF-8 只是一个普通的字节序列,而不是 UTF-16 和 UTF-32 都可以是小端或大端...)。

在 Windows 上,只需在 Win32 API 的边界将 UTF-8 文本转换为 UTF-16(因为 Windows API 倾向于使用 UTF-16)。为此,您可以使用 MultiByteToWideChar() API。

关于c - wchar_t在不同平台上的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930153/

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