zoukankan      html  css  js  c++  java
  • java 判断字符串是否为乱码

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class MessyCodeCheck {

    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 boolean isMessyCode(String strName) {
    Pattern p = Pattern.compile("\s*| *| *| *");
    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;
    System.out.print(c);
    }
    }
    }
    float result = count / chLength;
    if (result > 0.4) {
    return true;
    } else {
    return false;
    }

    }

    public static void main(String[] args) {
    System.out.println(isMessyCode("*��JTP.jar�ļ����JTP�ļ���ȡ��ͼƬ��Դ"));
    System.out.println(isMessyCode("你好"));
    }
    }

  • 相关阅读:
    《Eclipse中的一些快捷键》
    《Java中的抽象类及抽象类的作用》
    《Java中的不可变类》
    《final修饰基本类型变量和引用类型变量的区别》
    《类成员案例》
    《Java中的单例模式--两种》
    《Java中的自动装箱和拆箱功能.》
    Chrome 经典插件
    Sublimeの虚拟环境(Venv)设置
    HTTP下午茶
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/4580803.html
Copyright © 2011-2022 走看看