0
点赞
收藏
分享

微信扫一扫

unicode字符串转换成汉字 DecodeUnicodeUtils (工具类二)

飞鸟不急 2022-02-12 阅读 22
java
package com.menglar.soap.item.common.utils;

import org.apache.commons.lang3.StringEscapeUtils;

/**
 * @description: 将unicode字符串转换成汉字
 * @author: ZhangRiTian
 * @create: 2021-10-29 15:08
 */
public class DecodeUnicodeUtils {

	public static String decodeUnicode(String dataStr) {
		//去掉转义字符
		dataStr = StringEscapeUtils.unescapeJava(dataStr);
		if(!dataStr.contains("\\u")){
			return dataStr;}
		int start = 0;
		int end = 0;
		final StringBuffer buffer = new StringBuffer();
		while (start > -1) {
			end = dataStr.indexOf("\\u", start + 2);
			String charStr = "";
			if (end == -1) {
				charStr = dataStr.substring(start + 2);
			} else {
				charStr = dataStr.substring(start + 2, end);
			}
			// 16进制parse整形字符串。
			char letter = (char) Integer.parseInt(charStr, 16);
			buffer.append(letter);
			start = end;
		}
		return buffer.toString();
	}
}
举报

相关推荐

0 条评论