博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】Java检测字符串是否有乱码
阅读量:6655 次
发布时间:2019-06-25

本文共 1523 字,大约阅读时间需要 5 分钟。

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/

放着,待用。

 

转载地址:http://gyxto.baihongyu.com/

你可能感兴趣的文章
aptana--python开发工具使用技巧
查看>>
纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
查看>>
使用PM2来部署nodejs项目
查看>>
Postgres 小技巧
查看>>
保证分布式系统数据一致性的6种方案
查看>>
wordpress wp_list_authors作者函数和扩展
查看>>
[leetcode] Insert Interval
查看>>
gethostname.c
查看>>
zookeeper的客户端操作命令
查看>>
也来折腾折腾css sprites(转自www.jqueryba.com)
查看>>
Solr的一些查询参数
查看>>
用户态事件
查看>>
Java集合之Collection接口
查看>>
Git - 如何修改开源项目并推送给作者 / 克隆远程仓库到本地
查看>>
分布式服务协调员zookeeper - 应用场景和监控
查看>>
源码 安装步骤
查看>>
PMBOK中输入输出工具的规律
查看>>
Core Animation之CAKeyframeAnimation学习篇
查看>>
代码中weak, alias
查看>>
ios开发日志-button+UIAlertView
查看>>