提取unicode码

/**
 *取出unicode表示串
 */
public static String getUnicodeString(char c){
    char [] arr = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
    int i = (int)c;
    StringBuilder builder = new StringBuilder();
    //得到c的unicode值的字节数组
    char low1 = arr[(i >>> 0 ) & 0xf];
    char low2 = arr[(i >>> 4 )&0xf];
    char low3 = arr[(i >>> 8 )&0xf];
    char low4 = arr[(i >>> 12 )&0xf];

    builder.append(low4);
    builder.append(low3);
    builder.append(low2);
    builder.append(low1);
    return "\\u" +builder.toString();

}
public static String getUnicodeString(String str){
    StringBuilder buf = new StringBuilder();
    for (int i = 0 ; i < str.length();i++){
        String s = getUnicodeString(str.charAt(i));//charAt(i)表示第i个字符
        buf.append(s);
    }
    return buf.toString();
}
public static void main(String [] argc){
    //test1();
    String a = getUnicodeString('学');
    System.out.println(a);
    String b = getUnicodeString("a好b好c人d");
    System.out.println(b);
}
发布了85 篇原创文章 · 获赞 40 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/ljb825802164/article/details/89875159