zoukankan      html  css  js  c++  java
  • 中文解码Unicode

    package com.j1.search.utils;
    
    import java.io.UnsupportedEncodingException;
    import java.net.URLDecoder;
    
    import org.apache.commons.lang.StringUtils;
    
    public class WebUtils
    {
        public static String convertUnicode(String unicodeStr) throws UnsupportedEncodingException
        {
            if(StringUtils.isNotBlank(unicodeStr) && unicodeStr.startsWith("%"))
            {
                while(unicodeStr.contains("%25"))
                {
                    unicodeStr = unicodeStr.replace("%25", "%");
                }
                
                if(unicodeStr.length() == 3)
                {
                    unicodeStr = URLDecoder.decode(unicodeStr, "utf-8");
                }
                else
                {
                    boolean flag = true;
                    for(int i = -1; i < 10 && (i + 3) < unicodeStr.length(); i += 3)
                    {
                        if(unicodeStr.indexOf("%", i) != (i + 1))
                            flag = false;
                    }
                    if(flag)
                    {
                        unicodeStr = URLDecoder.decode(unicodeStr, "utf-8");
                    }
                }
                return unicodeStr;
            }
            else
            {
                return unicodeStr;
            }
        }
        
        public static String convertGetParams(String isoStr) throws UnsupportedEncodingException
        {
            if(StringUtils.isNotBlank(isoStr))
            {
                return new String(isoStr.getBytes("iso8859-1"),"UTF-8");
            }
            else
            {
                return isoStr;
            }
        }
        
        public static void main(String[] args) throws Exception
        {
            String aa = "%E6%AC%A7%E5%A7%86%E9%BE%99%E8%A1%80%E5%8E%8B%E8%AE%A1";// 给个默认值
            System.out.println(convertUnicode(aa));
        }
        
    }
  • 相关阅读:
    【计算机网络】复习集(更新中)
    滑雪 (记忆化搜索)
    橱窗布置
    复制书稿 (dp+贪心)
    8786:方格取数 (多线程dp)
    编辑距离
    8782:乘积最大
    合并石子 (区间dp+前缀和)
    6045:开餐馆
    6049:买书 (完全背包)
  • 原文地址:https://www.cnblogs.com/wangchuanfu/p/7940299.html
Copyright © 2011-2022 走看看