您的位置:首页 > 其它

如何让byte数组转换为String字符串时候去除乱码的问号

2017-12-26 15:44 1151 查看
1. 加入这家公司一直跟通信层打交道  天天使用byte数组传递数据  好怀念 使用http协议 传数据  至少人家 okttp 或者retrofit帮你封装好了 现在 天天是十进制转换为16进制,byte 数组转换成short,int ,String  上面一篇是各种 转换的方法 

   今天碰到的问题是 一串byte数组 我可能是只需要前十个字节  但是 传过来定义时候可能定义32位长度  但是我只需要十位  

  使用  new String (byte[32],"UTF-8") 产生的String  字符串 在setText时候并没有什么问题  但是需要这个字符串去匹配时候 只能说抱歉了 人家真正打印是这种形式

  XX讲�  

 后面的00  会变成这种类似乱码的问号  但是展示时候没什么问题 

 不多说了上代码吧   检测到00 不用就行了

public static String ByteToString(byte[] bytes)
{

StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i <bytes.length ; i++) {
if (bytes[i]!=0){
strBuilder.append((char)bytes[i]);
}else {
break;
}

}
return strBuilder.toString();
}

这样子不会产生  类似乱码的问题 亲测没问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐