读书人

java中unicode码转汉语言

发布时间: 2012-10-30 16:13:36 作者: rapoo

java中unicode码转中文

??????? 最近做项目,要把unicode转为中文,但是本身取出来的时候unicode码已经被转为“\\u6211”了,无法用java默认的转码来转换了。

??????? 自己写了一个转换器,根据unicode转码的规律,之后遇到了不少麻烦,例如如果以“\\u”开头但是根本不是unicode码、末尾以“\\”结尾啊什么的。目前是把程序完成为能想到的出错的可能性都覆盖了,以后再碰到再修改。

public static String unicodeEsc2Unicode(String unicodeStr)  {    if (unicodeStr == null) {      return null;    }    StringBuffer retBuf = new StringBuffer();    int maxLoop = unicodeStr.length();    for (int i = 0; i < maxLoop; i++) {      if (unicodeStr.charAt(i) == '\\') {        if ((i < maxLoop - 5) && ((unicodeStr.charAt(i + 1) == 'u') || (unicodeStr.charAt(i + 1) == 'U')))          try {            retBuf.append((char)Integer.parseInt(unicodeStr.substring(i + 2, i + 6), 16));            i += 5;          } catch (NumberFormatException localNumberFormatException) {            retBuf.append(unicodeStr.charAt(i));          }        else          retBuf.append(unicodeStr.charAt(i));      }      else {        retBuf.append(unicodeStr.charAt(i));      }    }    return retBuf.toString();  }

多谢,效果差不多,但是比我的代码少了很多

读书人网 >编程

热点推荐