Package org.aoju.bus.core.toolkit
Class HexKit
java.lang.Object
org.aoju.bus.core.toolkit.HexKit
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15) 例如十进制数57,在二进制写作111001,在16进制写作39
像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidappendHex(StringBuilder builder, byte b, boolean toLowerCase) 将byte值转为16进制并添加到StringBuilder中static ColordecodeColor(String hexColor) 将Hex颜色值转为static byte[]decodeHex(char[] text) 将十六进制字符数组转换为字节数组static byte[]decodeHex(CharSequence hexData) 将十六进制字符数组转换为字节数组static StringdecodeHexString(char[] text, Charset charset) 将十六进制字符数组转换为字符串static StringdecodeHexString(String text) 将十六进制字符数组转换为字符串,默认编码UTF-8static StringdecodeHexString(String text, Charset charset) 将十六进制字符数组转换为字符串static StringencodeColor(Color color) 将Color编码为Hex形式static StringencodeColor(Color color, String prefix) 将Color编码为Hex形式static char[]encodeHex(byte[] data) 将字节数组转换为十六进制字符数组static char[]encodeHex(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符数组static char[]将字节数组转换为十六进制字符数组static StringencodeHexString(byte[] data) 将字节数组转换为十六进制字符串static StringencodeHexString(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符串static StringencodeHexString(String data) 将符串转换为十六进制字符串,结果为小写,默认编码是UTF-8static StringencodeHexString(String data, Charset charset) 将符串转换为十六进制字符串,结果为小写static String格式化Hex字符串,结果为每2位加一个空格,类似于:static booleanisHexNumber(String value) 判断给定字符串是否为16进制数 如果是,需要使用对应数字类型对象的decode方法解码 例如:Integer.decode方法解码int类型的16进制数字static BigIntegertoBigInteger(String hexStr) Hex(16进制)字符串转为BigIntegerstatic StringtoUnicodeHex(char ch) 将指定char值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式 转换的字符串如果u后不足4位,则前面用0填充,例如:static StringtoUnicodeHex(int value) 将指定int值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式 转换的字符串如果u后不足4位,则前面用0填充,例如:
-
Constructor Details
-
HexKit
public HexKit()
-
-
Method Details
-
isHexNumber
判断给定字符串是否为16进制数 如果是,需要使用对应数字类型对象的decode方法解码 例如:Integer.decode方法解码int类型的16进制数字- Parameters:
value- 值- Returns:
- 是否为16进制
-
encodeHex
public static char[] encodeHex(byte[] data) 将字节数组转换为十六进制字符数组- Parameters:
data- byte[]- Returns:
- 十六进制char[]
-
encodeHex
-
encodeHex
public static char[] encodeHex(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符数组- Parameters:
data- byte[]toLowerCase- true 传换成小写格式 , false 传换成大写格式- Returns:
- 十六进制char[]
-
encodeHexString
将字节数组转换为十六进制字符串- Parameters:
data- byte[]- Returns:
- 十六进制String
-
encodeHexString
-
encodeHexString
-
encodeHexString
将字节数组转换为十六进制字符串- Parameters:
data- byte[]toLowerCase- true 传换成小写格式 , false 传换成大写格式- Returns:
- 十六进制String
-
decodeHexString
-
decodeHexString
-
decodeHexString
-
decodeHex
public static byte[] decodeHex(char[] text) 将十六进制字符数组转换为字节数组- Parameters:
text- 十六进制char[]- Returns:
- byte[]
- Throws:
RuntimeException- 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常
-
decodeHex
将十六进制字符数组转换为字节数组- Parameters:
hexData- 十六进制字符串- Returns:
- byte[]
- Throws:
RuntimeException- 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常
-
encodeColor
-
encodeColor
-
decodeColor
-
toUnicodeHex
将指定int值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式 转换的字符串如果u后不足4位,则前面用0填充,例如:'你' = 你
- Parameters:
value- int值,也可以是char- Returns:
- Unicode表现形式
-
toUnicodeHex
将指定char值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式 转换的字符串如果u后不足4位,则前面用0填充,例如:'你' = 你
- Parameters:
ch- char值- Returns:
- Unicode表现形式
-
toBigInteger
Hex(16进制)字符串转为BigInteger- Parameters:
hexStr- Hex(16进制字符串)- Returns:
BigInteger
-
format
-
appendHex
将byte值转为16进制并添加到StringBuilder中- Parameters:
builder-StringBuilderb- bytetoLowerCase- 是否使用小写
-