Java实现字符与Unicode互转

Java实现字符与Unicode互转,有两个主要方法:

Integer.toHexString();//转码
Integer.parseInt();//解码

通过以上两个方法实现对字符的转码与解码。


代码如下:

public class Test{
     
    public static void main(String[] args) {
         
        String str = "李锋镝的个人博客http://www.lifengdi.com";
//        String str = "假装这里有Emoji表情";
//        unicode(str);
        System.out.println("decodeUnicode:"+decodeUnicode(unicode(str)));
        System.out.println("decodeUnicode2:"+decodeUnicode2(unicode(str)));
    }
     
    public static String unicode(String source){
        StringBuffer sb = new StringBuffer();
        char [] source_char = source.toCharArray();
        String unicode = null;
        for (int i=0;i -1) {     
            end = dataStr.indexOf("\\u", start + 2);     
            String charStr = null;     
            if (end == -1) {     
                charStr = dataStr.substring(start + 2, dataStr.length());     
            } else {     
                charStr = dataStr.substring(start + 2, end);     
            }     
            char letter = (char) Integer.parseInt(charStr, 16);   
            buffer.append(new Character(letter).toString());     
            start = end;     
        }     
        return buffer.toString();     
     } 
 
}

运行结果如下:

\u674e\u950b\u955d\u7684\u4e2a\u4eba\u535a\u5ba2\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u006c\u0069\u0066\u0065\u006e\u0067\u0064\u0069\u002e\u0063\u006f\u006d
decodeUnicode:李锋镝的个人博客http://www.lifengdi.com
\u674e\u950b\u955d\u7684\u4e2a\u4eba\u535a\u5ba2\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u006c\u0069\u0066\u0065\u006e\u0067\u0064\u0069\u002e\u0063\u006f\u006d
decodeUnicode2:李锋镝的个人博客http://www.lifengdi.com

如果是Emoji表情,同样可以进行互转,有兴趣的同学可以试试。

转载请注明:李锋镝的个人博客>> http://www.lifengdi.com/article/10047.html


你可能感兴趣的:(java,Java-开发之路)