Package com.luna.common.text
Class HexUtil
java.lang.Object
com.luna.common.text.HexUtil
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。
例如十进制数57,在二进制写作111001,在16进制写作39。
像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20
例如十进制数57,在二进制写作111001,在16进制写作39。
像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20
参考:https://my.oschina.net/xinxingegeya/blog/287476
- Author:
- Looly
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
appendHex
(StringBuilder builder, byte b, boolean toLowerCase) 将byte值转为16进制并添加到StringBuilder
中static Color
decodeColor
(String hexColor) 将Hex颜色值转为static byte[]
decodeHex
(char[] hexData) 将十六进制字符数组转换为字节数组static byte[]
decodeHex
(CharSequence hexData) 将十六进制字符数组转换为字节数组static byte[]
将十六进制字符串解码为byte[]static String
decodeHexStr
(char[] hexData, Charset charset) 将十六进制字符数组转换为字符串static String
decodeHexStr
(String hexStr) 将十六进制字符数组转换为字符串,默认编码UTF-8static String
decodeHexStr
(String hexStr, Charset charset) 将十六进制字符数组转换为字符串static String
encodeColor
(Color color) 将Color
编码为Hex形式static String
encodeColor
(Color color, String prefix) 将Color
编码为Hex形式static char[]
encodeHex
(byte[] data) 将字节数组转换为十六进制字符数组static char[]
encodeHex
(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符数组static char[]
将字节数组转换为十六进制字符数组static String
encodeHexStr
(byte[] data) 将字节数组转换为十六进制字符串static String
encodeHexStr
(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符串static String
encodeHexStr
(String data) 将字符串转换为十六进制字符串,结果为小写,默认编码是UTF-8static String
encodeHexStr
(String data, Charset charset) 将字符串转换为十六进制字符串,结果为小写static String
格式化Hex字符串,结果为每2位加一个空格,类似于:static int
16进制字符串转为intstatic long
16进制字符串转为longstatic boolean
isHexNumber
(String value) 判断给定字符串是否为16进制数
如果是,需要使用对应数字类型对象的decode
方法解码
例如:Integer.decode
方法解码int类型的16进制数字static BigInteger
toBigInteger
(String hexStr) Hex(16进制)字符串转为BigIntegerstatic String
toHex
(int value) 转为16进制字符串static String
toHex
(long value) 转为16进制字符串static String
toUnicodeHex
(char ch) 将指定char值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式
转换的字符串如果u后不足4位,则前面用0填充,例如:static String
toUnicodeHex
(int value) 将指定int值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式
转换的字符串如果u后不足4位,则前面用0填充,例如:
-
Constructor Details
-
HexUtil
public HexUtil()
-
-
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
将字节数组转换为十六进制字符数组- Parameters:
str
- 字符串charset
- 编码- Returns:
- 十六进制char[]
-
encodeHex
public static char[] encodeHex(byte[] data, boolean toLowerCase) 将字节数组转换为十六进制字符数组- Parameters:
data
- byte[]toLowerCase
-true
传换成小写格式 ,false
传换成大写格式- Returns:
- 十六进制char[]
-
encodeHexStr
将字节数组转换为十六进制字符串- Parameters:
data
- byte[]- Returns:
- 十六进制String
-
encodeHexStr
将字符串转换为十六进制字符串,结果为小写- Parameters:
data
- 需要被编码的字符串charset
- 编码- Returns:
- 十六进制String
-
encodeHexStr
将字符串转换为十六进制字符串,结果为小写,默认编码是UTF-8- Parameters:
data
- 被编码的字符串- Returns:
- 十六进制String
-
encodeHexStr
将字节数组转换为十六进制字符串- Parameters:
data
- byte[]toLowerCase
-true
传换成小写格式 ,false
传换成大写格式- Returns:
- 十六进制String
-
decodeHexStr
将十六进制字符数组转换为字符串,默认编码UTF-8- Parameters:
hexStr
- 十六进制String- Returns:
- 字符串
-
decodeHexStr
将十六进制字符数组转换为字符串- Parameters:
hexStr
- 十六进制Stringcharset
- 编码- Returns:
- 字符串
-
decodeHexStr
将十六进制字符数组转换为字符串- Parameters:
hexData
- 十六进制char[]charset
- 编码- Returns:
- 字符串
-
decodeHex
将十六进制字符串解码为byte[]- Parameters:
hexStr
- 十六进制String- Returns:
- byte[]
-
decodeHex
public static byte[] decodeHex(char[] hexData) 将十六进制字符数组转换为字节数组- Parameters:
hexData
- 十六进制char[]- Returns:
- byte[]
- Throws:
RuntimeException
- 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常
-
decodeHex
将十六进制字符数组转换为字节数组- Parameters:
hexData
- 十六进制字符串- Returns:
- byte[]
- Throws:
UtilException
- 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常- Since:
- 5.6.6
-
encodeColor
将Color
编码为Hex形式- Parameters:
color
-Color
- Returns:
- Hex字符串
- Since:
- 3.0.8
-
encodeColor
将Color
编码为Hex形式- Parameters:
color
-Color
prefix
- 前缀字符串,可以是#、0x等- Returns:
- Hex字符串
- Since:
- 3.0.8
-
decodeColor
将Hex颜色值转为- Parameters:
hexColor
- 16进制颜色值,可以以#开头,也可以用0x开头- Returns:
Color
- Since:
- 3.0.8
-
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表现形式
- Since:
- 4.0.1
-
toHex
转为16进制字符串- Parameters:
value
- int值- Returns:
- 16进制字符串
- Since:
- 4.4.1
-
hexToInt
16进制字符串转为int- Parameters:
value
- 16进制字符串- Returns:
- 16进制字符串int值
- Since:
- 5.7.4
-
toHex
转为16进制字符串- Parameters:
value
- int值- Returns:
- 16进制字符串
- Since:
- 4.4.1
-
hexToLong
16进制字符串转为long- Parameters:
value
- 16进制字符串- Returns:
- long值
- Since:
- 5.7.4
-
appendHex
将byte值转为16进制并添加到StringBuilder
中- Parameters:
builder
-StringBuilder
b
- bytetoLowerCase
- 是否使用小写- Since:
- 4.4.1
-
toBigInteger
Hex(16进制)字符串转为BigInteger- Parameters:
hexStr
- Hex(16进制字符串)- Returns:
BigInteger
- Since:
- 5.2.0
-
format
格式化Hex字符串,结果为每2位加一个空格,类似于:e8 8c 67 03 80 cb 22 00 95 26 8f
- Parameters:
hexStr
- Hex字符串- Returns:
- 格式化后的字符串
-