UDP byte[] 发送十六进制数据时出现的问题 Java中byte只能保存 -128 到 127之间的数,我的十六进制字串如:5A 4A 01 00 08 AA 78 20 20 CC 33 C3 3C 00用byte发送的时候 超过127的就会转换成负数。有解决办法吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该没关系的,你的数据应该是一个byte数组,接收端按照通信协议解析数据就好了如果你是想把一个大于127的byte转成一个short或int范围的正数表示,可以自己做下转换如byte b = (byte)225;System.out.println(b);int i = 0x00ff & b;System.out.println(i); 我的十六进制字串是 String cmd = "5A 4A 01 00 08 AA 78 20 20 CC 33 C3 3C 00";这种格式的转byte的时候,每两位是一个byte。 byte出现负数没关系吗? public void cleanBuf(byte[] bits, int len){ for(int i = 0; i < len; i++){ bits[i] = 0; } } public String byteToString_Hex(byte[] bit, String str, int len){ for(int i = 0; i < len; i++){ str += (Integer.toHexString((bit[i] & 0xF0) >> 4) + Integer.toHexString((bit[i] & 0x0F) >> 0)); } return str.toUpperCase(); }个人认为只是方便协议制定,人的阅读而已, 其实内部都是int类型 servlet环境搭建问题 怎么执行这个程序?原因是什么? 怎么在别人电脑用自己写的程序 帮帮 谢谢 誰能告訴我PD中如下內容的詳細說明 关于源码的移植问题 怎样从文本文件中读数据? 请教一个关于字符串转换成数字的问题。 新手,刚学习java,下边的编译报错,请大家指点…… 高分!!!Java连接MySql出现乱码的问题 谁能给出一个连接sqlserver数据库的源码,谢 ?请问打印在屏幕上和文件中为什么结果不同呢 怎么在swing的组件里显示图片呀!!!!
如果你是想把一个大于127的byte转成一个short或int范围的正数表示,可以自己做下转换
如
byte b = (byte)225;
System.out.println(b);
int i = 0x00ff & b;
System.out.println(i);
String cmd = "5A 4A 01 00 08 AA 78 20 20 CC 33 C3 3C 00";
这种格式的
转byte的时候,每两位是一个byte。 byte出现负数没关系吗?
for(int i = 0; i < len; i++){
bits[i] = 0;
}
}
public String byteToString_Hex(byte[] bit, String str, int len){
for(int i = 0; i < len; i++){
str += (Integer.toHexString((bit[i] & 0xF0) >> 4) + Integer.toHexString((bit[i] & 0x0F) >> 0));
}
return str.toUpperCase();
}
个人认为只是方便协议制定,人的阅读而已, 其实内部都是int类型