十六进制数与字节数组相互转换方法

来源:互联网 发布:光环大数据培训 编辑:程序博客网 时间:2024/05/21 08:50

1、十六进制数转字节数组:

public static byte[] hexStringToBytes(String hexString){if (hexString == null || hexString.equals(""))return null;hexString = hexString.toUpperCase();int length = hexString.length() / 2;char[] hexChars = hexString.toCharArray();byte[] bytes = new byte[length];for (int i = 0; i < length; i++)bytes[i] = (byte) (charToByte(hexChars[i * 2]) << 4 | charToByte(hexChars[(i * 2) + 1]));return bytes;}private byte charToByte(char c){return (byte) "0123456789ABCDEF".indexOf(c);}

2、字节数组转十六进制数:

public static String bytesToHexString(byte[] bytes){StringBuilder builder = new StringBuilder("");if ((bytes == null) || (bytes.length <= 0))return null;for (int i = 0; i < bytes.length; ++i){String str = Integer.toHexString(0xFF & bytes[i]);if (str.length() < 2)builder.append(0);builder.append(str);}return builder.toString();}


0 0