这些天来,我面临一个字节数组编码字符串的问题。 我使用一个套接字接收从服务器到缓冲区的数据,然后创建一个MemoryStream
以将数据从此缓冲区读取到具有固定长度30的tempBuffer,然后从tempBuffer的GetString
中读取数据。Encoding.UTF8.GetString工作出错,从套接字接收数据
byte tempBuff = new byte[30];
streamReader.Read(tempBuff, 0, 30);
string moTaSkill = Encoding.UTF8.GetString(tempBuff);
的我用一个文本框显示如下字符串:
tbSkill.Text = moTaSkill;
它始终显示错误的文本框:
- 当调试我看到moTaSkill =“的技巧英雄“
- 当显示在文本框上时,它只是”技能“或有时是”技能“或”技能的“
我试着创建tempBuffer,其长度等于我将收到的字符串的长度。但没有成功。
任何人可以告诉我一些解决方案来解决它吗?
谢谢大家的帮忙,原因是字符串末尾为空字符。将数据复制到缓冲区时我做了一些错误。 – lemycanh