字符串转化成相对应的byte[]

做串口通讯时候基本都通过io流读取、输出java开发发送数据时候使用OutputStream,而其write()参数字节数组、int整形使用字节数组发送时候通常直接写成out.write("1234".getbytes())来单片机读数据则31 32 33 34串口发送时候先把16进制字符串转化byte数组发送出来发送读取使用:out.write(HexString2Bytes("1234"));读取123416进制字符串转化byte数组方法
 public static byte[] HexString2Bytes(String src) {
       if (null == src || 0 == src.length()) {
           return null;
       }
       byte[] ret = new byte[src.length() / 2];
       byte[] tmp = src.getBytes()();
       for (int i = 0; i < (tmp.length / 2); i++) {
           ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);
       }
       return ret;
   } 
public static byte uniteBytes(byte src0, byte src1) { 
byte _b0 = Byte.decode("0x" + new String(new byte[] {src0})).byteValue(); 
_b0 = (byte) (_b0 << 4); 
byte _b1 = Byte.decode("0x" + new String(new byte[] { src1 })).byteValue(); 
byte ret = (byte) (_b0 ^ _b1); 
return ret; 
}



用java做串口开发时候建议使用开源Rxtx做效率、使用方法都要优使用sun开源comm人觉得便利rxtx网上有开源实例根据自己需求进行加修饰利用


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值