java将\xE6\x9F\xA5\xE7\x9C\x8B\xE8\xAE\xA2\xE5\x8D\x95转中文

博客聚焦于将十六进制字节码转换为字符串的问题,给出了Java代码来解决该问题,涉及`UnsupportedEncodingException`和`URLDecoder`相关内容,属于信息技术领域的编码转换问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:
首先这是一串16进制的字节码,我们的任务就是将十六进制的字节码转为字符串
问题解决:直接上代码
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

/**
 * Author wenBin
 * Date 2019/5/23 9:33
 * Version 1.0
 */
public class asciitochiness {

    public static void main(String[] args) throws UnsupportedEncodingException {

        String str = "\\xE6\\x9F\\xA5\\xE7\\x9C\\x8B\\xE8\\xAE\\xA2\\xE5\\x8D\\x95";
        //注意:在16进制转字符串时我们要先将\x去掉再进行转码
        String stringss = hexStringToString(str.replaceAll("\\\\x", ""));
        System.out.println(stringss);

    }

    public static String hexStringToString(String s) {
        if (s == null || s.equals("")) {
            return null;
        }
        s = s.replace(" ", "");
        byte[] baKeyword = new byte[s.length() / 2];
        for (int i = 0; i < baKeyword.length; i++) {
            try {
                baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        try {
            s = new String(baKeyword, "UTF-8");
            new String();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        return s;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值