java \\u \u 转换
2016-12-01 22:52
113 查看
最近研究短信轰炸的时候遇到一个问题, 有些接口写的乱七八糟
返回值竟然把 汉字utf-8格式\uxxxx之类的 \u转义成 \\u
遇到这种情况 ,需要把\\uxxxx转换为\uxxxx
参考资料
http://stackoverflow.com/questions/10035891/how-to-replace-u-by-u-in-java-string
返回值竟然把 汉字utf-8格式\uxxxx之类的 \u转义成 \\u
String source = "{\"status\": \"error\", \"msg\": \"\u4eca\u5929\u9a8c\u8bc1...."; System.out.println(source); System.out.println(URLDecoder.decode(source, "utf-8")); source = "{\"status\": \"error\", \"msg\": \"\\u4eca\\u5929\\u9a8c\\u8bc1...."; System.out.println(URLDecoder.decode(source, "utf-8"));运行结果
{"status": "error", "msg": "今天验证.... {"status": "error", "msg": "今天验证.... {"status": "error", "msg": "\u4eca\u5929\u9a8c\u8bc1....
遇到这种情况 ,需要把\\uxxxx转换为\uxxxx
if (source.contains("\\u")) { StringBuffer buf = new StringBuffer(); Matcher m = Pattern.compile("\\\\u([0-9A-Fa-f]{4})").matcher(source); while (m.find()) { try { int cp = Integer.parseInt(m.group(1), 16); m.appendReplacement(buf, ""); buf.appendCodePoint(cp); } catch (NumberFormatException e) { } } m.appendTail(buf); String result = buf.toString(); System.out.println(result); }
参考资料
http://stackoverflow.com/questions/10035891/how-to-replace-u-by-u-in-java-string
相关文章推荐
- java数据类型转换详解
- 用java、msxml将xml转换成html
- Java中数据类型之间的转换
- Java变量类型间的相互转换
- Java与XML(六)xml的转换之pdf (fo 2 pdf)
- 农历与阳历转换java版本
- 简要JAVA数据类型转换
- java中字符转换
- 各种数字类型转换成字符串型--JAVA(选择自 whoopee 的 Blog )
- 基于java时区转换夏令时的问题及解决方法
- Java中类型转换的特例
- Java使用正则表达式将UBB的img表达方法转换成html样式
- 字符串转换 java
- Java变量类型间的相互转换
- A Boolean wrapped with string (如何将布尔变量转换为字符串变量--写给java初学者)
- Java中实现数字金额到中文大写字符的转换!!
- java/jsp乱码的一种转换方法
- java中的数据类型转换
- Java与XML(五)xml的转换之pdf (xml+xsl 2 pdf)
- 在JAVA里用函数得到日期,并转换成字符