gpt4 book ai didi

c++ - 使用 winsock 通过网络发送 Unicode (win32) 文本包?

转载 作者:行者123 更新时间:2023-11-28 08:25:26 27 4
gpt4 key购买 nike

我正在尝试使用 winsock 通过网络发送文本数据包。但是,文本存储为 wchar_t,我需要能够将文本转换为字节 (char) 格式以便通过网络发送,然后再转换回 wchar_t。

我已经尝试使用 ostringstream 并将我的 wchar_t 字符串转换为看起来像字节格式的格式,但是当我尝试反向操作时,我得到了一堆乱码。

我在网上查找时似乎找不到任何答案,因此非常感谢任何帮助。

好的,这是我玩过的一些代码。

std::wstring text( ieS("Hello") );
std::ostringstream ostr;
ostr.imbue( std::locale( ) );
ostr << text.c_str();
std::string text2 = ostr.str();

转换为 std::string 以获得 char 格式。

std::wostringstream wostr;
wostr.imbue( std::locale( ) );
wostr << text2.c_str();
text = oss.str(); // gibberish

转换回 std::wstring 以获得 wchar_t 格式...

最佳答案

你的 friend 是:

WideCharToMultiByte,将 UTF-8 的代码页作为 MB 代码页传递。

MultiByteToWideChar,同上。

关于c++ - 使用 winsock 通过网络发送 Unicode (win32) 文本包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4221496/

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