好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java判断字符串是否含有乱码实例代码

具体代码如下所示:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

/**

   * 判断字符是否是中文

   *

   * @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( "你好" ));

  }

总结

以上所述是小编给大家介绍的java判断字符串是否含有乱码实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

原文链接:https://blog.csdn.net/albg_boy/article/details/83988152

查看更多关于Java判断字符串是否含有乱码实例代码的详细内容...

  阅读:15次