String.valueOf和byte的问题

youyiyang 2016-11-18 10:41:46
大家好!

byte数组是:

byte[] WriteBytes = new byte[17];
WriteBytes[0]=0x66;
WriteBytes[1]=0x00;
WriteBytes[2]=0x0B;
WriteBytes[3]=0x00;
WriteBytes[4]=0x10;
WriteBytes[5]=0x00;
WriteBytes[6]=0x10;
WriteBytes[7]=0x11;
WriteBytes[8]=0x22;
WriteBytes[9]=0x33;
WriteBytes[10]=0x44;
WriteBytes[11]=0x55;
WriteBytes[12]=0x66;
WriteBytes[13]=0x77;
WriteBytes[14]=(byte)0x88;
WriteBytes[15]=(byte)0x99;
WriteBytes[16]=(byte)0xFF;

我用下面这句代码开看的时候:


Toast.makeText(Commviewer_ControlActivity.this, i+", "+String.valueOf((int)input[i]), Toast.LENGTH_SHORT).show();

出现这样, 提示:
1,0,
2,11,
3,0,
4,16
。。。
16,-1
怎么0xFF变成了-1?0x0B变成了11,0x10变成了16?
...全文
207 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
youyiyang 2016-11-18
  • 打赏
  • 举报
回复
谢谢!大家!
ink_s 2016-11-18
  • 打赏
  • 举报
回复
字节的最高位是符号位 直接转会有正负
ink_s 2016-11-18
  • 打赏
  • 举报
回复
	  public static String parseByte2HexStr(byte buf[]) {  
	        StringBuffer sb = new StringBuffer();  
	        for (int i = 0; i < buf.length; i++) {  
	                String hex = Integer.toHexString(buf[i] & 0xFF);  
	                if (hex.length() == 1) {  
	                        hex = '0' + hex;  
	                }  
	                sb.append(hex.toUpperCase());  
	        }  
	        return sb.toString();  
	} 
16进制字节转16进制字符串 你转成字符串之后可以用 Integer.valueOf("16进制的字符串",16).toString(); 转10进制字符串 ,你那样直接转回有负数
blanks.w 2016-11-18
  • 打赏
  • 举报
回复
引用 1 楼 q849340003 的回复:
你byte数组本身是16进制, Toast.makeText(Commviewer_ControlActivity.this, i+", "+String.valueOf((int)input[i]), Toast.LENGTH_SHORT).show(); 你这样输出是十进制,所以10进制被转换成了10进制。 十六进制0x0B等于十进制11,十六进制0x10等于十进制16。 并没有错误!
上面打错字了 :你这样输出是十进制,所以10进制被转换成了10进制。应该是:你这样输出是十进制,所以16进制被转换成了10进制。 特此修正
blanks.w 2016-11-18
  • 打赏
  • 举报
回复
你byte数组本身是16进制, Toast.makeText(Commviewer_ControlActivity.this, i+", "+String.valueOf((int)input[i]), Toast.LENGTH_SHORT).show(); 你这样输出是十进制,所以10进制被转换成了10进制。 十六进制0x0B等于十进制11,十六进制0x10等于十进制16。 并没有错误!

80,348

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧