美文网首页
Unicode編碼格式中文互轉

Unicode編碼格式中文互轉

作者: ffewi | 来源:发表于2018-04-25 19:06 被阅读0次

    源码展示:

    public class UnicodeUtil {
    
        /**
         * 中文转unicode字符串
         * 
         * @param cn
         * @return
         */
        public static String cnToUnicode(String cn) {
            StringBuilder sb = new StringBuilder();
            if (cn == null || cn.length() == 0) {
                return sb.toString();
            }
            char[] chars = cn.toCharArray();
    
            for (char c : chars) {
                sb.append("\\u" + Integer.toString(c, 16));
            }
    
            return sb.toString();
        }
    
        /**
         * unicode字符串转中文
         * 
         * @param unicodeStr
         * @return
         */
        public static String unicodeToCn(String unicodeStr) {
    
            StringBuilder sb = new StringBuilder();
            if (unicodeStr == null || unicodeStr.length() == 0) {
                return sb.toString();
            }
            unicodeStr = unicodeStr.substring(2);
            String[] arrs = unicodeStr.split("\\\\u");
            for (String arr : arrs) {
                sb.append((char) Integer.valueOf(arr, 16).intValue());
            }
            return sb.toString();
        }
        
        // main方法测试
        public static void main(String[] args) {
            String[] strArr = new String[4];
            strArr[0] = cnToUnicode("普通的字符描述!");
            strArr[1] = cnToUnicode("四个空格:    。 ");
            strArr[2] = cnToUnicode(null);
            strArr[3] = cnToUnicode("制表符:\t。");
    
            String[] unicode = new String[4];
            int i = 0;
            for (String str : strArr) {
                System.out.println(str);
                unicode[i] = unicodeToCn(str);
                i++;
            }
    
            for (String uc : unicode) {
                System.out.println(uc);
            }
    
        }
    }
    
    

    测试输出结果:

    \u666e\u901a\u7684\u5b57\u7b26\u63cf\u8ff0\uff01
    \u56db\u4e2a\u7a7a\u683c\uff1a\u20\u20\u20\u20\u3002\u20
    
    \u5236\u8868\u7b26\uff1a\u9\u3002
    普通的字符描述!
    四个空格:    。 
    
    制表符:    。
    

    相关文章

      网友评论

          本文标题:Unicode編碼格式中文互轉

          本文链接:https://www.haomeiwen.com/subject/jjnylftx.html