88540591 2020-06-16
中文转换Unicode,目前有两种方式,自写工具类或引入第三方包,这里我推荐引入三方包,因为使用mvn配置非常简单,网上搜到的大多数都是自己写的工具类,试了一个,效果不是很好,因为把ASCII编码也转成Unicode格式了(一色的\u\u\u),虽然能用,但是可读性降低。
引入第三方包,有一个很出名的escapeJava()
方法,是apache下边的一个包,最开始在org.apache.commons.lang3
下,3.6版本之后被移到了org.apache.commons.commons-text
下,我试了一下,最终成功了,但效果不对,json中的双引号被转义了,可见下方示例。最终放弃,然后找到了hutool这款国内的工具包,表示非常好用!
示例代码
// 原文 {"键":"value"} // 网上自建类转换 -- 全转了 \u007b\u0026\u0071\u0075\u006f\u0074\u003b\u952e\u0026\u0071\u0075\u006f\u0074\u003b\u003a\u0026\u0071\u0075\u006f\u0074\u003b\u0076\u0061\u006c\u0075\u0065\u0026\u0071\u0075\u006f\u0074\u003b\u007d // commons-text包escapeJava方法转换 -- 引号也转了 {\"\u952e\":\"value\"} // hutool包toUnicode方法转换 -- 完美 {"\u952e":"value"}
pom添加依赖
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.7</version> </dependency>
使用
import cn.hutool.core.text.UnicodeUtil; String json = ""; json = UnicodeUtil.toUnicode(json);