欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java判断中文字符串是否乱码,java中文,import java.

来源: javaer 分享于  点击 22345 次 点评:225

Java判断中文字符串是否乱码,java中文,import java.


import java.util.regex.Matcher;import java.util.regex.Pattern;public class ChineseUtill {    private 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 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 = 0 ;        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;                }                chLength++;             }        }        float result = count / chLength ;        if (result > 0.4) {            return true;        } else {            return false;        }    }    public static String toChinese(String msg){        if(isMessyCode(msg)){            try {                return new String(msg.getBytes("ISO8859-1"), "UTF-8");            } catch (Exception e) {            }        }        return msg ;     }}
相关栏目:

用户点评