Java中取到前台中文这种Unicode编码问题(%u8239%u540D%u4E09)

public static void main(String[] args) {
    //取得request
    HttpServletRequest request = SessionContext.getServletContext().getRequest();
    //取得界面传参(取得面板重命名里的值)
    String chuanM=request.getParameter("chuanming");
    //如果chaunM是不标准的Unicode编码(%u8239%u540D%u4E09)对应标准的为(\u8239\u540d\u4e09)
    if(!chuanM.isEmpty()){
            chuanM = chuanM.toLowerCase();
            System.out.println(chuanM);
            
            chuanM = chuanM.replace("%", "\\");
            
            System.out.println(chuanM);
            
            
            chuanming = decodeUnicode(chuanM);
            
            System.out.println(chuanming);
            
        }

    }
    //将Unicode编码转换成中文
    public  String decodeUnicode(String 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, dataStr.length());     
            } else {     
                charStr = dataStr.substring(start + 2, end);     
            }     
            char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。     
            buffer.append(new Character(letter).toString());     
            start = end;     
        }     
        return buffer.toString();     
     }

//将中文转换成Unicode编码
public class UnicdeBianMa {
        public static void main(String[] args) {
            String s = "船名三";
            System.out.println(string2Unicode(s));
        }
        public static String string2Unicode(String string) {//\u8239\u540d\u4e09    %u8239%u540D%u4E09
            StringBuffer unicode = new StringBuffer();
            for (int i = 0; i < string.length(); i++) {
                // 取出每一个字符
                char c = string.charAt(i);
                // 转换为unicode
                unicode.append("\\u" + Integer.toHexString(c));
            }
            return unicode.toString();
        }
    


阅读更多

没有更多推荐了,返回首页