Я пытаюсь отправить текстовые пакеты по сети, используя 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, чтобы получить формат символа.
std::wostringstream wostr;
wostr.imbue( std::locale( ) );
wostr << text2.c_str();
text = oss.str(); // gibberish
Преобразовать обратно в std :: wstring, чтобы получить формат wchar_t ...