/* * unicode编码转中文 */ public static String decodeUnicode(final String dataStr) {try{final StringBuffer buffer = new StringBuffer(dataStr==null?"":dataStr); if(StringUtils.isNotBlank(dataStr) && ains("\u")) {buffer.delete(0,buffer.length()); int start = 0; int end = 0; while (start > -1) {end = dataStr.indexOf("\u", start + 2); String a="";//如果夹着非unicode编码的字符串,存放在这 String charStr = ""; if (end == -1) {if(dataStr.substring(start + 2, dataStr.length()).length()>4){charStr = dataStr.substring(start + 2, start + 6); a = dataStr.substring(start + 6, dataStr.length()) ; }else{charStr = dataStr.substring(start + 2, dataStr.length()); }} else {charStr = dataStr.substring(start + 2, end); }char letter = (char) Integer.im(), 16); // 16进制parse整形字符串。 buffer.append(new Character(letter).toString()); if(StringUtils.isNotBlank(a)){buffer.append(a); }start = end; }}String(); } catch (Exception e){logger.error(dataStr+" 字符串转换失败",e); }return dataStr; }
本文发布于:2024-02-02 13:11:37,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170685069644025.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |