/* * unicode编码转中文 */ public static String decodeUnicode(final String dataStr) { try{ final StringBuffer buffer = new StringBuffer(dataStr==null?"":dataStr); if(StringUtils.isNotBlank(dataStr) && dataStr.contains("\\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.parseInt(charStr.trim(), 16); // 16进制parse整形字符串。 buffer.append(new Character(letter).toString()); if(StringUtils.isNotBlank(a)){ buffer.append(a); } start = end; } } return buffer.toString(); } catch (Exception e){ logger.error(dataStr+" 字符串转换失败",e); } return dataStr; }
今天的文章java Unicode编码转中文分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/26655.html