当前位置: 代码迷 >> Android >> byte[]转换成String不正确,该怎么处理
  详细解决方案

byte[]转换成String不正确,该怎么处理

热度:9   发布时间:2016-04-28 05:00:44.0
byte[]转换成String不正确
Java 将byte[] 转换成String时,出现下面奇怪的现象,那个值只有一遍又引号,另一边没有引号。。正常的字符串当然是两边都有引号的

代码是这样的

byte[] backBuffer = new byte[128];
inputStream.read(backBuffer);
String backString = new String(backBuffer);

我的猜想是因为我的backBuffer里面后面很多位都是空的,所以转换的时候会有问题
但是我又不能截取,因为根本不知道有多少位是有数据的,也不能根据哪位是0判断从哪位开始是空的,因为有可能数据本身就是0
求教各位大神这怎么解决!!!!
------解决方案--------------------
你说对了,是后面的零造成的,你这样读数据肯定会有问题,你得知道你读出了多少数据,可以这样
int nRead = inputStream.read(backBuffer);
String str = new String(backBuffer,0,nRead);//意思是从backBuffer0下标开始取nRead个字节来组装成一个字符串
好了,纯手打,结贴吧
  相关解决方案