You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Java中如何实现十六进制字符串逐字节反转?如e905c878转78c805e9

Java实现十六进制字符串逐字节反转方案

以下实现完全对齐你给出的Rust代码逻辑,分为「十六进制字符串转字节数组」「反转字节数组」「字节数组转回十六进制字符串」三个核心步骤:

完整可运行代码

public class HexReverseDemo {

    public static void main(String[] args) {
        // 测试示例1:输入e905c878 预期输出78c805e9
        String testInput1 = "e905c878";
        String result1 = reverseHexByByte(testInput1);
        System.out.println(result1);

        // 测试Rust示例中的输入d59c168e05df4757 预期输出5747df058e169cd5
        String testInput2 = "d59c168e05df4757";
        String result2 = reverseHexByByte(testInput2);
        System.out.println(result2);
    }

    /**
     * 逐字节反转十六进制字符串
     * @param hex 输入的十六进制字符串(长度必须为偶数)
     * @return 反转后的十六进制字符串
     */
    public static String reverseHexByByte(String hex) {
        // 1. 十六进制字符串转字节数组,对应Rust代码中的parse_hex方法
        byte[] originBytes = hexStringToByteArray(hex);

        // 2. 反转字节数组,对应Rust代码中的iter().rev()遍历插入逻辑
        int len = originBytes.length;
        byte[] reversedBytes = new byte[len];
        for (int i = 0; i < len; i++) {
            reversedBytes[i] = originBytes[len - 1 - i];
        }

        // 3. 反转后的字节数组转回十六进制字符串
        return bytesToHex(reversedBytes);
    }

    // 十六进制字符串转字节数组工具方法
    private static byte[] hexStringToByteArray(String hex) {
        int length = hex.length();
        byte[] data = new byte[length / 2];
        for (int i = 0; i < length; i += 2) {
            data[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)
                    + Character.digit(hex.charAt(i + 1), 16));
        }
        return data;
    }

    // 字节数组转十六进制字符串工具方法
    private static String bytesToHex(byte[] bytes) {
        StringBuilder sb = new StringBuilder();
        for (byte b : bytes) {
            // 如需输出大写十六进制,将%02x改为%02X即可
            sb.append(String.format("%02x", b));
        }
        return sb.toString();
    }
}

注意事项

  • 输入的十六进制字符串必须为偶数长度,使用前建议先做合法性校验,避免数组越界
  • 代码默认输出小写十六进制字符,按需修改格式符即可切换为大写

内容的提问来源于stack exchange,提问作者nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:06:01