Class CharKit

java.lang.Object
org.miaixz.bus.core.xyz.CharKit

public class CharKit extends Object
字符工具类 部分工具来自于Apache Commons系列
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    digit16(int b)
    获取给定字符的16进制数值
    static boolean
    equals(char c1, char c2, boolean caseInsensitive)
    比较两个字符是否相同
    static char[]
    getChars(byte[] bytes)
     
    static int
    getType(int c)
    获取字符类型
    static boolean
    isAscii(char ch)
    是否为ASCII字符,ASCII字符位于0~127之间
    static boolean
    isAsciiControl(char ch)
    是否为ASCII控制符(不可见字符),控制符位于0~31和127
    static boolean
    是否为可见ASCII字符,可见字符位于32~126之间
    static boolean
    isBlankChar(char c)
    是否空白符 空白符包括空格、制表符、全角空格和不间断空格
    static boolean
    isBlankChar(int c)
    是否空白符 空白符包括空格、制表符、全角空格和不间断空格
    static boolean
    isChar(Object value)
    给定对象对应的类是否为字符类,字符类包括:
    static boolean
    isCharClass(Class<?> clazz)
    给定类名是否为字符类,字符类包括:
    static boolean
    isEmoji(char c)
    判断是否为emoji表情符
    static boolean
    是否为Windows或者Linux(Unix)文件分隔符 Windows平台下分隔符为\,Linux(Unix)为/
    static boolean
    isHexChar(char c)
    是否为16进制规范的字符,判断是否为如下字符
    static boolean
    isLetter(char ch)
    判断是否为字母(包括大写字母和小写字母) 字母包括A~Z和a~z
    static boolean
    isLetterLower(char ch)
    检查字符是否为小写字母,小写字母指a~z
    static boolean
    是否为字母或数字,包括A~Z、a~z、0~9
    static boolean
    isLetterUpper(char ch)
    判断是否为大写字母,大写字母包括A~Z
    static boolean
    isNumber(char ch)
    检查是否为数字字符,数字字符指0~9
    static char
    toCloseByNumber(int number)
    将[1-20]数字转换为带圈的字符:
    static char
    toCloseChar(char c)
    将字母、数字转换为带圈的字符:
    static String
    toString(char c)
    字符转为字符串 如果为ASCII字符,使用缓存

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CharKit

      public CharKit()
  • Method Details

    • isAscii

      public static boolean isAscii(char ch)
      是否为ASCII字符,ASCII字符位于0~127之间
         CharKit.isAscii('a')  = true
         CharKit.isAscii('A')  = true
         CharKit.isAscii('3')  = true
         CharKit.isAscii('-')  = true
         CharKit.isAscii('\n') = true
         CharKit.isAscii('©') = false
       
      Parameters:
      ch - 被检查的字符处
      Returns:
      true表示为ASCII字符,ASCII字符位于0~127之间
    • isAsciiPrintable

      public static boolean isAsciiPrintable(char ch)
      是否为可见ASCII字符,可见字符位于32~126之间
         CharKit.isAsciiPrintable('a')  = true
         CharKit.isAsciiPrintable('A')  = true
         CharKit.isAsciiPrintable('3')  = true
         CharKit.isAsciiPrintable('-')  = true
         CharKit.isAsciiPrintable('\n') = false
         CharKit.isAsciiPrintable('©') = false
       
      Parameters:
      ch - 被检查的字符处
      Returns:
      true表示为ASCII可见字符,可见字符位于32~126之间
    • isAsciiControl

      public static boolean isAsciiControl(char ch)
      是否为ASCII控制符(不可见字符),控制符位于0~31和127
         CharKit.isAsciiControl('a')  = false
         CharKit.isAsciiControl('A')  = false
         CharKit.isAsciiControl('3')  = false
         CharKit.isAsciiControl('-')  = false
         CharKit.isAsciiControl('\n') = true
         CharKit.isAsciiControl('©') = false
       
      Parameters:
      ch - 被检查的字符
      Returns:
      true表示为控制符,控制符位于0~31和127
    • isLetter

      public static boolean isLetter(char ch)
      判断是否为字母(包括大写字母和小写字母) 字母包括A~Z和a~z
         CharKit.isLetter('a')  = true
         CharKit.isLetter('A')  = true
         CharKit.isLetter('3')  = false
         CharKit.isLetter('-')  = false
         CharKit.isLetter('\n') = false
         CharKit.isLetter('©') = false
       
      Parameters:
      ch - 被检查的字符
      Returns:
      true表示为字母(包括大写字母和小写字母)字母包括A~Z和a~z
    • isLetterUpper

      public static boolean isLetterUpper(char ch)

      判断是否为大写字母,大写字母包括A~Z

         CharKit.isLetterUpper('a')  = false
         CharKit.isLetterUpper('A')  = true
         CharKit.isLetterUpper('3')  = false
         CharKit.isLetterUpper('-')  = false
         CharKit.isLetterUpper('\n') = false
         CharKit.isLetterUpper('©') = false
       
      Parameters:
      ch - 被检查的字符
      Returns:
      true表示为大写字母,大写字母包括A~Z
    • isLetterLower

      public static boolean isLetterLower(char ch)

      检查字符是否为小写字母,小写字母指a~z

         CharKit.isLetterLower('a')  = true
         CharKit.isLetterLower('A')  = false
         CharKit.isLetterLower('3')  = false
         CharKit.isLetterLower('-')  = false
         CharKit.isLetterLower('\n') = false
         CharKit.isLetterLower('©') = false
       
      Parameters:
      ch - 被检查的字符
      Returns:
      true表示为小写字母,小写字母指a~z
    • isNumber

      public static boolean isNumber(char ch)

      检查是否为数字字符,数字字符指0~9

         CharKit.isNumber('a')  = false
         CharKit.isNumber('A')  = false
         CharKit.isNumber('3')  = true
         CharKit.isNumber('-')  = false
         CharKit.isNumber('\n') = false
         CharKit.isNumber('©') = false
       
      Parameters:
      ch - 被检查的字符
      Returns:
      true表示为数字字符,数字字符指0~9
    • isHexChar

      public static boolean isHexChar(char c)
      是否为16进制规范的字符,判断是否为如下字符
       1. 0~9
       2. a~f
       4. A~F
       
      Parameters:
      c - 字符
      Returns:
      是否为16进制规范的字符
    • isLetterOrNumber

      public static boolean isLetterOrNumber(char ch)
      是否为字母或数字,包括A~Z、a~z、0~9
         CharKit.isLetterOrNumber('a')  = true
         CharKit.isLetterOrNumber('A')  = true
         CharKit.isLetterOrNumber('3')  = true
         CharKit.isLetterOrNumber('-')  = false
         CharKit.isLetterOrNumber('\n') = false
         CharKit.isLetterOrNumber('©') = false
       
      Parameters:
      ch - 被检查的字符
      Returns:
      true表示为字母或数字,包括A~Z、a~z、0~9
    • toString

      public static String toString(char c)
      字符转为字符串 如果为ASCII字符,使用缓存
      Parameters:
      c - 字符
      Returns:
      字符串
      See Also:
    • isCharClass

      public static boolean isCharClass(Class<?> clazz)
      给定类名是否为字符类,字符类包括:
       Character.class
       char.class
       
      Parameters:
      clazz - 被检查的类
      Returns:
      true表示为字符类
    • isChar

      public static boolean isChar(Object value)
      给定对象对应的类是否为字符类,字符类包括:
       Character.class
       char.class
       
      Parameters:
      value - 被检查的对象
      Returns:
      true表示为字符类
    • isBlankChar

      public static boolean isBlankChar(char c)
      是否空白符 空白符包括空格、制表符、全角空格和不间断空格
      Parameters:
      c - 字符
      Returns:
      是否空白符
      See Also:
    • isBlankChar

      public static boolean isBlankChar(int c)
      是否空白符 空白符包括空格、制表符、全角空格和不间断空格
      Parameters:
      c - 字符
      Returns:
      是否空白符
      See Also:
    • isEmoji

      public static boolean isEmoji(char c)
      判断是否为emoji表情符
      Parameters:
      c - 字符
      Returns:
      是否为emoji
    • isFileSeparator

      public static boolean isFileSeparator(char c)
      是否为Windows或者Linux(Unix)文件分隔符 Windows平台下分隔符为\,Linux(Unix)为/
      Parameters:
      c - 字符
      Returns:
      是否为Windows或者Linux(Unix)文件分隔符
    • equals

      public static boolean equals(char c1, char c2, boolean caseInsensitive)
      比较两个字符是否相同
      Parameters:
      c1 - 字符1
      c2 - 字符2
      caseInsensitive - 是否忽略大小写
      Returns:
      是否相同
    • getType

      public static int getType(int c)
      获取字符类型
      Parameters:
      c - 字符
      Returns:
      字符类型
    • digit16

      public static int digit16(int b)
      获取给定字符的16进制数值
      Parameters:
      b - 字符
      Returns:
      16进制字符
    • toCloseChar

      public static char toCloseChar(char c)
      将字母、数字转换为带圈的字符:
           '1' - '①'
           'A' - 'Ⓐ'
           'a' - 'ⓐ'
       

      获取带圈数字 /封闭式字母数字 ,从1-20,超过1-20报错

      Parameters:
      c - 被转换的字符,如果字符不支持转换,返回原字符
      Returns:
      转换后的字符
      See Also:
    • toCloseByNumber

      public static char toCloseByNumber(int number)
      将[1-20]数字转换为带圈的字符:
           1 - '①'
           12 - '⑫'
           20 - '⑳'
       
      也称作:封闭式字符,英文:Enclosed Alphanumerics
      Parameters:
      number - 被转换的数字
      Returns:
      转换后的字符
      See Also:
    • getChars

      public static char[] getChars(byte[] bytes)