最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • java如何判断是否中文乱码_Java教程


    中文乱码在项目中是经常会遇到的情况。当我们通过设置request和response字符集,但是还是出现中文乱码的时候,今天给介绍一种通过java方法实现判断string是否为乱码的方法。

    	 /** 
         * 判断字符串是否是乱码 
         * 
         * @param strName 字符串 
         * @return 是否是乱码 
         */  
        public static boolean isMessyCode(String strName) {  
            Pattern p = Pattern.compile("\\s*|t*|r*|n*");  
            Matcher m = p.matcher(strName);  
            String after = m.replaceAll("");//去重为空的情况
            String temp = after.replaceAll("\\p{P}", "");  
            char[] ch = temp.trim().toCharArray();  
            float chLength = ch.length;  
            float count = 0;  
            for (int i = 0; i < ch.length; i++) {  
                char c = ch[i];  
                if (!Character.isLetterOrDigit(c)) {  
                    if (!isChinese(c)) {  
                        count = count + 1;  
                    }  
                }  
            }  
            float result = count / chLength;  
            if (result > 0.4) {  
                return true;  
            } else {  
                return false;  
            }  
       
        }        
        /** 
         * 判断字符是否是中文 
         * 
         * @param c 字符 
         * @return 是否是中文 
         */  
        public static boolean isChinese(char c) {  
            Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);  
            if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS  
                    || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS  
                    || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A  
                    || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION  
                    || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION  
                    || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {  
                return true;  
            }  
            return false;  
        }

    定义调用:

    public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		/*List<String> list = new ArrayList<String>();
    		
    		Map<List<String>, String> map = new HashMap<>();*/
    		
    		
    		String messcode = "ss201888asdf;#????";
    		System.out.println(">>>>>>>>>>:"+isMessyCode(messcode));
    		
    		
     
    	}

    输出结果:

    >>>>>>>>>>:false

    更多java知识请关注liyegejava基础教程栏目。

    以上就是java如何判断是否中文乱码的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1145会员总数(位)
    • 111856资源总数(个)
    • 6本周发布(个)
    • 0 今日发布(个)
    • 239稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    侵权联系邮箱[email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐