java 将十六进制字符数组转换为字节数组

在Java中如何将十六进制的字符数组转换为字节数组?出于安全原因,我不想将字符数组转换为字符串。

Java 8 中是否有任何内置库可用于此转换?


慕森卡
浏览 171回答 1
1回答

神不在的星期二

没有单一的 Java SE 方法,但使用Character.digit则相当简单:byte[] parse(char[] hex) {    int len = hex.length;    if (len % 2 != 0) {        throw new IllegalArgumentException(            "Even number of digits required");    }    byte[] bytes = new byte[len / 2];    for (int i = 0; i < len; i += 2) {        int high = Character.digit(hex[i], 16);        int low = Character.digit(hex[i + 1], 16);        bytes[i / 2] = (byte) (high << 4 | low);    }    return bytes;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java