public class ChineseUtils {
public static void main(String[] args) {
String str = "中国 (1).jpg";
try {
String str2 = new String(str.getBytes("iso-8859-1"),"iso-8859-1");
System.out.println(str2);
System.out.println(isMessyCode(str2));
System.out.println(toChinese(str2));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} }
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 = ;
float count = ;
for (int i = ; i < ch.length; i++) {
char c = ch[i];
if (!Character.isLetterOrDigit(c)) {
if (!isChinese(c)) {
count = count + ;
}
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 ;
}
}

最新文章

  1. JS魔法堂:初探传说中的setImmediate函数
  2. How to create a project with existing folder of files in Visual Studio?
  3. kuangbin_ShortPath J (POJ 1511)
  4. HDOJ ----Phone List
  5. 手动实现 KVO
  6. spring集成Apache的ActiveMQ
  7. javaScript中有关正则表达式的用法总结
  8. UVA 718 - Skyscraper Floors(数论)
  9. MySQL能够承受上亿万条的数据量的架构
  10. each用法的总结
  11. 项目冲刺 Sixth
  12. window.onresize监听事件
  13. linux测试工程介绍(Linux Test Project)
  14. 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-4 模态弹出框--结构分析
  15. python基础学习1-正则表达式
  16. JS组件系列——JsPlumb制作流程图及相关效果详解
  17. FAQ系列 | 如何保证主从复制数据一致性(转)
  18. Nginx Open File Cache
  19. golang学习之slice基本操作
  20. Linux中如何安装Apache服务器

热门文章

  1. 推送代码分支时出现:fatal: &#39;origin&#39; does not appear to be a git repository
  2. HDUOJ A Mathematical Curiosity 1017
  3. java 过滤器(理解二)
  4. Android中Native和H5交互
  5. 使用python语言编写脚本控制freeswitch总结
  6. JS判断一个字符串是否包含一个子串函数.
  7. IFA Basics
  8. linux 安装mysql 5.6.11
  9. [Exception IOS 4] - could not build module &#39;foundation&#39;
  10. XML Schema学习札记(1)——基础总览