zoukankan      html  css  js  c++  java
  • 【转】Java检测字符串是否有乱码

    package cn.cnnic.ops.learn;

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

    public class Luanma {
    /**
    * 判断字符是否是中文
    *
    * @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;
    }

    /**
    * 判断字符串是否是乱码
    *
    * @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;
    }

    }

    public static void main(String[] args) {
    System.out.println(isMessyCode("韩顺平"));
    System.out.println(isMessyCode("abcd"));
    System.out.println(isMessyCode("你好"));
    }
    }

    【转自】http://blog.icoolxue.com/java-to-determine-whether-a-string-is-garbled-pro-testing-available/

    放着,待用。

  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/zhzhang/p/5543309.html
Copyright © 2011-2022 走看看