将字符串转换成16进制字节数组和16进制数组的小方法

技术交流群:233513714

 

一、将字符串转换成int数组

/**
* 将字符串转换为16进制int数组
* @param hexString
* @return returnBytes
*/
private static int[] strToToHexByte(String hexString) {
  hexString = hexString.replace(" ", "");
  // 如果长度不是偶数,就在后面添加空格
  if ((hexString.length() % 2) != 0) {
    hexString += " ";
  }
  // 定义一个数组,长度是待转换数组长度的一半
  int[] returnBytes = new int[hexString.length() / 2];
  for (int i = 0; i < returnBytes.length; i++) {
    returnBytes[i] = (0xff & Integer.parseInt(hexString.substring(i * 2, i * 2 + 2), 16));
  }
  return returnBytes;
}

 

二、将字符串转换成16进制字节数组

/**
* 将字符串转换成16进制字节数组
* @param str
* @return byte[]
*/
public static byte[] stringToByte16(String str) {
  str = str.replace(" ", "");
  if ((str.length() % 2) != 0) {
    str += " ";
  }
  byte[] by = new byte[str.length() / 2];
  for (int i = 0; i < str.length() / 2; ++i) {
    by[i] = (byte)(Integer.parseInt(str.substring(i * 2,i * 2 + 2),16) & 0xff);
  }
  return by;
}

转载于:https://www.cnblogs.com/cnndevelop/p/5220327.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值