在开发中常常需要从配置文件中读取配置,但是在读取中文时可能会出现乱码,这时可以将中文转为Unicode编码,再读取,然后转码。在Api接口传输数据时也经常用到!

字符串转为Unicode编码

/**
     * 将字符串转为Unicode编码
     * @param string
     * @return
     */
    public static String encodeUnicode(String string){
        StringBuffer unicode = new StringBuffer();
        for (int i = 0; i < string.length(); i++) {
            char c = string.charAt(i);
            unicode.append("\\u" + Integer.toHexString(c));
        }
        return unicode.toString();
    }

Unicode编码转为字符串

/**
     * 将Unicode编码转为字符串
     * @param unicode
     * @return
     */
    public static String decodeUnicode(String unicode){
        if (!unicode.contains("\\u")){
            return unicode;
        }
        StringBuffer string = new StringBuffer();
        String[] hex = unicode.split("\\\\u");
        for (int i = 1; i < hex.length; i++) {
            int data = Integer.parseInt(hex[i], 16);
            string.append((char) data);
        }
        return string.toString();
    }