JAvaはxE 6x 9 FxA 5xE 7x 9 Cx 8 BxE 8xAExA 2xE 5x 8 Dx 95を中国語に変換

1314 ワード

問題:まずこれは16進数のバイトコードの列で、私たちの任務は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;
    }
}