java 中文与unicode互转

て烟熏妆下的殇ゞ 提交于 2019-12-03 16:54:26
public class YxqTest {
    public static  void main(String[] args){
        // unicode 打印
        String title="\u4F60\u597D";
        System.out.println(title);
        
        // 中文-转-unicode
        String str = "你好";
        System.out.println(cnToUnicode(str));

        // unicode-转-中文
        String title2="\\u4F60\\u597D";
        System.out.println(unicodeToCn(title2));
    }

    private static String unicodeToCn(String unicode) {
        /** 以 \ u 分割,因为java注释也能识别unicode,因此中间加了一个空格*/
        String[] strs = unicode.split("\\\\u");
        String returnStr = "";
        // 由于unicode字符串以 \ u 开头,因此分割出的第一个字符是""。
        for (int i = 1; i < strs.length; i++) {
            returnStr += (char) Integer.valueOf(strs[i], 16).intValue();
        }
        return returnStr;
    }

    private static String cnToUnicode(String cn) {
        char[] chars = cn.toCharArray();
        String returnStr = "";
        for (int i = 0; i < chars.length; i++) {
            returnStr += "\\u" + (Integer.toString(chars[i], 16)).toUpperCase();
        }
        return returnStr;
    }
}输出:

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!