java和unicode

java中忘记了的基础知识:

    在jvm中,java中的字符(char)保存的是对应字符的unicode码。

   例如 ‘中’字 的unicode码是 20013,16进制是 \u4e2d,代码

    public static void main(String[] args) {
        int c = '中';
        System.out.println(c);
        System.out.println(Integer.toString(c, 16));
    }

 

在java中转化字符串中的unicode字符的方法

    
# str中的字符包一般字符和unicode码,unicode码的格式为 错 及代码中if条件判断的内容
private static String decodeUnicode(String str){ StringBuilder sb = new StringBuilder(); for (int i=0;i<str.length();){ if(str.charAt(i)=='&' && '#'==str.charAt(i+1) && 'x' == str.charAt(i+2) && ';'==str.charAt(i+7)){ String a = "" + str.charAt(i + 3) + str.charAt(i + 4) + str.charAt(i + 5) + str.charAt(i + 6); sb.append((char)Integer.parseInt(a, 16)); i=i+8; } else { sb.append(str.charAt(i)); i++; } } return sb.toString(); }

 

posted @ 2022-10-20 20:38  漫步ing  阅读(139)  评论(0编辑  收藏  举报