Package org.miaixz.bus.core.xyz
Class CharKit
java.lang.Object
org.miaixz.bus.core.xyz.CharKit
字符工具类
部分工具来自于Apache Commons系列
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intdigit16(int b) 获取给定字符的16进制数值static booleanequals(char c1, char c2, boolean caseInsensitive) 比较两个字符是否相同static char[]getChars(byte[] bytes) static intgetType(int c) 获取字符类型static booleanisAscii(char ch) 是否为ASCII字符,ASCII字符位于0~127之间static booleanisAsciiControl(char ch) 是否为ASCII控制符(不可见字符),控制符位于0~31和127static booleanisAsciiPrintable(char ch) 是否为可见ASCII字符,可见字符位于32~126之间static booleanisBlankChar(char c) 是否空白符 空白符包括空格、制表符、全角空格和不间断空格static booleanisBlankChar(int c) 是否空白符 空白符包括空格、制表符、全角空格和不间断空格static boolean给定对象对应的类是否为字符类,字符类包括:static booleanisCharClass(Class<?> clazz) 给定类名是否为字符类,字符类包括:static booleanisEmoji(char c) 判断是否为emoji表情符static booleanisFileSeparator(char c) 是否为Windows或者Linux(Unix)文件分隔符 Windows平台下分隔符为\,Linux(Unix)为/static booleanisHexChar(char c) 是否为16进制规范的字符,判断是否为如下字符static booleanisLetter(char ch) 判断是否为字母(包括大写字母和小写字母) 字母包括A~Z和a~zstatic booleanisLetterLower(char ch) 检查字符是否为小写字母,小写字母指a~zstatic booleanisLetterOrNumber(char ch) 是否为字母或数字,包括A~Z、a~z、0~9static booleanisLetterUpper(char ch) 判断是否为大写字母,大写字母包括A~Zstatic booleanisNumber(char ch) 检查是否为数字字符,数字字符指0~9static chartoCloseByNumber(int number) 将[1-20]数字转换为带圈的字符:static chartoCloseChar(char c) 将字母、数字转换为带圈的字符:static StringtoString(char c) 字符转为字符串 如果为ASCII字符,使用缓存
-
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和127CharKit.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~zCharKit.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~9CharKit.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
字符转为字符串 如果为ASCII字符,使用缓存- Parameters:
c- 字符- Returns:
- 字符串
- See Also:
-
isCharClass
给定类名是否为字符类,字符类包括:Character.class char.class
- Parameters:
clazz- 被检查的类- Returns:
- true表示为字符类
-
isChar
给定对象对应的类是否为字符类,字符类包括: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- 字符1c2- 字符2caseInsensitive- 是否忽略大小写- 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)
-