Skip to content

Instantly share code, notes, and snippets.

@glumes
Last active June 29, 2017 16:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glumes/83f9f9871fa9219974aecd1d36ecdd1d to your computer and use it in GitHub Desktop.
Save glumes/83f9f9871fa9219974aecd1d36ecdd1d to your computer and use it in GitHub Desktop.
java 进制转换的工具代码
 /**
     * 十六进制字符串转换为字节数组
     *
     * @param paramString
     * @return
     */
    public static byte[] hexStringToByte(String paramString) {
        int j = paramString.length();
        byte[] arrayOfByte = new byte[j / 2];
        int i = 0;
        while (i < j) {
            arrayOfByte[(i / 2)] = ((byte) ((Character.digit(paramString.charAt(i), 16) << 4) + Character.digit(paramString.charAt(i + 1), 16)));
            i += 2;
        }
        return arrayOfByte;
    }


    private static byte[] getHexBytes(String message) {
        int len = message.length() / 2;
        char[] chars = message.toCharArray();
        String[] hexStr = new String[len];
        byte[] bytes = new byte[len];
        for (int i = 0, j = 0; j < len; i += 2, j++) {
            hexStr[j] = "" + chars[i] + chars[i + 1];
            bytes[j] = (byte) Integer.parseInt(hexStr[j], 16);
        }
        return bytes;
    }


    public static String bytesToHexString(ArrayList<Byte> paramArrayList) {
        StringBuilder localStringBuilder = new StringBuilder("");
        if ((paramArrayList == null) || (paramArrayList.size() <= 0)) {
            return null;
        }
        int i = 0;
        while (i < paramArrayList.size()) {
            String str = Integer.toHexString((Byte) paramArrayList.get(i) & 0xFF);
            if (str.length() < 2) {
                localStringBuilder.append(0);
            }
            localStringBuilder.append(str);
            i += 1;
        }
        return localStringBuilder.toString();
    }

    public static String bytesToHexString(byte[] paramArrayOfByte) {
        StringBuilder localStringBuilder = new StringBuilder("");
        if ((paramArrayOfByte == null) || (paramArrayOfByte.length <= 0)) {
            return null;
        }
        int i = 0;
        while (i < paramArrayOfByte.length) {
            String str = Integer.toHexString(paramArrayOfByte[i] & 0xFF);
            if (str.length() < 2) {
                localStringBuilder.append(0);
            }
            localStringBuilder.append(str);
            i += 1;
        }
        return localStringBuilder.toString();
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment