来自C++;wchar_t通过套接字连接到C#char
我目前正在构建一个C++应用程序,它通过Socket与C语言应用程序通信。 我的C++应用程序通过socket发送WCHARAYT**。 以下是发送内容的概述:来自C++;wchar_t通过套接字连接到C#char,c#,c++,sockets,interop,marshalling,C#,C++,Sockets,Interop,Marshalling,我目前正在构建一个C++应用程序,它通过Socket与C语言应用程序通信。 我的C++应用程序通过socket发送WCHARAYT**。 以下是发送内容的概述: <!-- Normal xml file-- 看起来它发送的是UTF-16,而不是UTF-8,这很有意义-wchar\u t基本上是一种16位类型(在Windows中),据我所知,您是在“原始”发送它。我建议,如果您要将数据转换为XDocument或XmlDocument,您可以使用二进制数据进行转换-框架知道如何自动检测XM
<!-- Normal xml file--
看起来它发送的是UTF-16,而不是UTF-8,这很有意义-wchar\u t
基本上是一种16位类型(在Windows中),据我所知,您是在“原始”发送它。我建议,如果您要将数据转换为XDocument
或XmlDocument
,您可以使用二进制数据进行转换-框架知道如何自动检测XML文件的UTF-16(IIRC)
如果XML声明声明它是UTF-8,而实际上它是UTF-16,那么您可能会遇到问题
可选地,在C++端使用适当的编码类来真正发送UTF-8。这将需要额外的处理时间,但如果考虑到这一点,通常可以节省带宽
<\0!\0-\0-\0 \0N\0o\0r\0m\0a\0l\0 \0x\0m\0l\0 \0f\0i\0l\0e\0-\0-