收到错误消息"'。',十六进制值0x00,是无效字符"

时间:2016-02-04 10:25:26

标签: c# sockets utf-8 websocket

我的代码在发送之前将字符串转换为字节:

byte[] requestByte = Encoding.UTF8.GetBytes(requestString);

XML通过socket发送为字节:

int sentbytes = clientDAP.Send(requestByte, SocketFlags.None);

之后从主持人检索到响应:

byteResult = clientDAP.Receive(responseByte, SocketFlags.None);

我试图让它从字节中给我一个字符串输出:

responseString = Encoding.UTF8.GetString(responseByte);

此外,我尝试将响应字符串加载为XML:

XmlDocument resultDoc = new XmlDocument();
resultDoc.LoadXml(responseString);

这给了我以下错误:

  

'。',十六进制值0x00,是无效字符。第2行,第1位。

responseString如下:

<Response User="abc" Type="123" Timestamp="02/04/2016 05:12:25:504 AM" Subtype="TRADE" 
  Name="css" Logging="Yes" Echo="No" Client="abc123" Caching="Yes">
  <Output>
    <Reference>23324</Reference>
    <Client>GF23X</Client>
    <Source>2324ffd</Source>
    <Region>th</Region>
    <Status>ok</Status>
    <Message>Overall abc</Message><Message>Odef</Message>
  </Output>
</Response>

更新:我已经在评论中看到了所有建议,并尝试了不同的编码和解码,但没有任何效果。

感谢您的帮助。

0 个答案:

没有答案