Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自C++;wchar_t通过套接字连接到C#char_C#_C++_Sockets_Interop_Marshalling - Fatal编程技术网

来自C++;wchar_t通过套接字连接到C#char

来自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

我目前正在构建一个C++应用程序,它通过Socket与C语言应用程序通信。 我的C++应用程序通过socket发送WCHARAYT**。 以下是发送内容的概述:

<!-- 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-