判断url字符集utf-8/gb2312

任何一个编码用其他字符集解码后的字符长度都会长
可以使用utf-8编码和gb2312分别解码,如果前者大于后者就是gb2312编码,否则就是utf-8编码

urlencode urldecode length
utf-8 gb2312 2
utf-8 utf-8 1
gb2312 gb2312 1
gb2312 utf-8 2
public static boolean isUTF8(String encodeStr) throws  Exception{
      long startTime=System.nanoTime();   //获取开始时间
      String gb2312Str = URLDecoder.decode(encodeStr,"gb2312");
      String utf8Str = URLDecoder.decode(encodeStr,"utf-8");
      boolean result = gb2312Str.length() >= utf8Str.length();
      long endTime=System.nanoTime(); //获取结束时间
      System.out.println(">> "+(endTime-startTime)*1.0/1000000+"ms");
      return result;
    }
展开阅读全文

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