JAVA 16进制转普通字符

调试的时候发现日志记录的是16进制信息,想转换成普通字符看下具体是什么内容,结果网上找了一圈,各种转换方法五花八门,

感觉大部分都设计的太复杂了,这里记录我自己实现的简易版本。

1.16进制转普通字符

 /**
     * 16进制转普通字符
     * @param noSpaceHex 16进制字符串,格式:6D6C2076657273696F6E3D
     * @return
     */
    public static String hexToString(String noSpaceHex){
        StringBuilder builder = new StringBuilder(noSpaceHex.length()/2);
        for(int i = 0; i < noSpaceHex.length()-1; i+=2){
            builder.append((char)Integer.valueOf(noSpaceHex.substring(i,i+2), 16).byteValue());
        }
        return builder.toString();
    }

2.带空格的16进制转普通字符

 /**
     *  带空格的16进制转普通字符
     * @param hex 带空格的16进制字符串,格式:6D 6C 20 76 65 72 73 69 6F 6E 3D
     * @return
     */
    public static String spaceHexToString(String hex){
        String[] temp = hex.split(" ");
        StringBuilder builder = new StringBuilder(temp.length);
        for(String s : temp){
            builder.append((char)Integer.valueOf(s, 16).byteValue());
        }
        return builder.toString();
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值