gpt4 book ai didi

c++ - boost::asio::write UNICODE

转载 作者:太空狗 更新时间:2023-10-29 21:06:04 26 4
gpt4 key购买 nike

我在 ANSII 中有以下代码:

boost::asio::streambuf buffer;
std::ostream oss(&buffer);

boost::asio::async_write(socket_, buffer,
strand_.wrap(
boost::bind(&Connection::handleWrite, shared_from_this(),
boost::asio::placeholders::error)));

我需要将其转换为 UNICODE。我尝试了以下方法:

boost::asio::basic_streambuf<std::allocator<wchar_t>> buffer; 
std::wostream oss(&buffer);

boost::asio::async_write(socket_, buffer,
strand_.wrap(
boost::bind(&Connection::handleWrite, shared_from_this(),
boost::asio::placeholders::error)));

有没有办法在 UNICODE 中使用 async_write()?

最佳答案

您需要知道您的数据以何种编码方式传入。

例如,在我的应用程序中,我知道 unicode 数据以 UTF-8 格式传入,因此我使用函数的普通 char 版本。然后我需要将缓冲区视为 unicode utf-8 数据 - 但一切都已接收/发送正常。

如果您使用不同的字符编码,那么您可能(或可能不会)像您尝试过的那样使用宽字符版本获得更好的里程数。

关于c++ - boost::asio::write UNICODE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303425/

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