Похоже, что он отправляет UTF-16, а не UTF-8, что имеет смысл - wchar_t
в основном 16-битный тип (в Windows), и вы отправляете его в «сыром» виде, насколько я могу сказать. Я полагаю, что если вы собираетесь конвертировать данные в XDocument
или XmlDocument
, вы делаете это с двоичными данными - фреймворк знает, как автоматически определять UTF-16 для файлов XML (IIRC).
У вас могут возникнуть проблемы, если объявление XML объявит его как UTF-8, хотя на самом деле это UTF-16.
В качестве альтернативы используйте подходящие классы кодирования на стороне C ++, чтобы искренне отправлять UTF-8. Это займет дополнительное время обработки, но обычно экономит полосу пропускания, если это важно.