码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA unicode转换成中文

时间:2015-07-21 10:24:04      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

/**
     * 
     * unicode 转换成 中文
     * @param theString
     * @return
     */
 
    public static String decodeUnicode(String theString) {
 
        char aChar;
 
        int len = theString.length();
 
        StringBuffer outBuffer = new StringBuffer(len);
 
        for (int x = 0; x < len;) {
 
            aChar = theString.charAt(x++);
 
            if (aChar == ‘\\‘) {
 
                aChar = theString.charAt(x++);
 
                if (aChar == ‘u‘) {
 
                    // Read the xxxx
 
                    int value = 0;
 
                    for (int i = 0; i < 4; i++) {
 
                        aChar = theString.charAt(x++);
 
                        switch (aChar) { 
                        case ‘0‘: 
                        case ‘1‘: 
                        case ‘2‘: 
                        case ‘3‘: 
                        case ‘4‘: 
                        case ‘5‘: 
                        case ‘6‘:
                        case ‘7‘:
                        case ‘8‘:
                        case ‘9‘:
                            value = (value << 4) + aChar - ‘0‘;
                            break;
                        case ‘a‘:
                        case ‘b‘:
                        case ‘c‘:
                        case ‘d‘:
                        case ‘e‘:
                        case ‘f‘:
                            value = (value << 4) + 10 + aChar - ‘a‘;
                            break;
                        case ‘A‘:
                        case ‘B‘:
                        case ‘C‘:
                        case ‘D‘:
                        case ‘E‘:
                        case ‘F‘:
                            value = (value << 4) + 10 + aChar - ‘A‘;
                            break;
                        default:
                            throw new IllegalArgumentException(
                                    "Malformed   \\uxxxx   encoding.");
                        }
 
                    }
                    outBuffer.append((char) value);
                } else {
                    if (aChar == ‘t‘)
                        aChar = ‘\t‘;
                    else if (aChar == ‘r‘)
                        aChar = ‘\r‘; 
                    else if (aChar == ‘n‘) 
                        aChar = ‘\n‘; 
                    else if (aChar == ‘f‘) 
                        aChar = ‘\f‘; 
                    outBuffer.append(aChar); 
                }
 
            } else 
                outBuffer.append(aChar); 
        }
 
        return outBuffer.toString();
 
    }

 

JAVA unicode转换成中文

标签:

原文地址:http://www.cnblogs.com/niray/p/4663489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!