java unicode轉中文

每次不知道的問題就是百度,不知看的那篇文章找到了如下代碼。

private static final Pattern UNICODE_2_STRING_PATTERN = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
	
	public static String unicode2String(String str) {
		Matcher matcher = UNICODE_2_STRING_PATTERN.matcher(str);
		while (matcher.find()) {
			char ch = (char) Integer.parseInt(matcher.group(2), 16);
			str = str.replace(matcher.group(1), ch + "");
		}
		return str;
	}

結果:上線之後發現cpu狂飆100%,一番查找,新加的代碼只有這裏有while會致使cpu太高。java

總結:網上查找的東東,且用且珍惜!!!

發現commons包中有個轉碼工具類

org.apache.commons.lang3.StringEscapeUtils#unescapeJava
相關文章
相關標籤/搜索