public static byte[] hexToBytes(String hexStr) {

来源:互联网 发布:身份证识别软件 编辑:程序博客网 时间:2024/05/02 02:04

public static byte[] hexToBytes(String hexStr) {
  int len = hexStr.length();
  hexStr = hexStr.toUpperCase();
  byte[] des;
  if (len % 2 != 0 || len == 0) {
   return null;
  } else {
   int halfLen = len / 2;
   des = new byte[halfLen];
   char[] tempChars = hexStr.toCharArray();
   for (int i = 0; i < halfLen; ++i) {
    char c1 = tempChars[i * 2];
    char c2 = tempChars[i * 2 + 1];
    int tempI = 0;
    if (c1 >= '0' && c1 <= '9') {
     tempI += ((c1 - '0') << 4);
    } else if (c1 >= 'A' && c1 <= 'F') {
     tempI += (c1 - 'A' + 10) << 4;
    } else {
     return null;
    }
    if (c2 >= '0' && c2 <= '9') {
     tempI += (c2 - '0');
    } else if (c2 >= 'A' && c2 <= 'F') {
     tempI += (c2 - 'A' + 10);
    } else {
     return null;
    }
    des[i] = (byte) tempI;
    // System.out.println(des[i]);
   }
   return des;

  }

 }

原创粉丝点击