前言:今天兴冲冲的开始刷题,遇到了一个需要用两个android和c#的一个题 心里转念一想:坑爹的高职题…
场景:C#写得控制台程序作为Server,Android程序作为Client。控制台程序定时向Client发送人体红外状态。发送正常,但是接收时,前面的位都可以正常接收,但是超出字符串长度的位的就会变成乱码。
问题所在:java的String类的构造器传送一个byte数组 他遇到数组当中的0时并不会停止,于是没被填充的就变成乱码。
解决: InputStream.Read(byte[])这个方法返回实际读取长度