java中16进制字符串与普通字符串与byte数组之间的转化⽅法依赖commons-codec包 maven的引⼊⽅式如下
1<dependency>
2<groupId>commons-codec</groupId>
3<artifactId>commons-codec</artifactId>
4<version>1.12</version>
5</dependency>
1. 普通字符串转换为16进制字符串
1 /**
2 * 将普通字符串转换为16进制字符串
3 * @param str 普通字符串
4 * @param lowerCase 转换后的字母为是否为⼩写可不传默认为true
5 * @param charset 编码格式可不传默认为Charset.defaultCharset()
6 * @return
7 * @throws UnsupportedEncodingException
8*/
9public static String str2HexStr(String str,boolean lowerCase,String charset) throws UnsupportedEncodingException {
Bytes(charset),lowerCase);
11 }
2.16进制字符串转换为普通字符串
/**
* 将16进制字符串转换为普通字符串
* @param hexStr 16进制字符串
* @param charset 编码格式可不传默认为Charset.defaultCharset()
* @return
* @throws DecoderException
* @throws UnsupportedEncodingException
*/
public static String hexStr2Str(String hexStr,String charset) throws DecoderException, UnsupportedEncodingException {
byte[] bytes = Hex.decodeHex(hexStr);
return new String(bytes,charset);
}
3. 16进制字符串转换为byte数组
1/**
2 * 将16进制字符串转换为byte数组
3 * @param hexItr 16进制字符串
4 * @return
5*/
6public static byte[] hexItr2Arr(String hexItr) throws DecoderException {
7return Hex.decodeHex(hexItr);
8 }
4. byte数组转换为16进制字符串
1/**
2 * byte数组转化为16进制字符串
3 * @param arr 数组
4 * @param lowerCase 转换后的字母为是否为⼩写可不传默认为true
5 * @return
6*/
7public static String arr2HexStr(byte[] arr,boolean lowerCase){
deHexString(arr, lowerCase);
9 }
5. 将普通字符串转换为指定编码格式的byte数组
1/**
2 * 将普通字符串转换为指定格式的byte数组
3 * @param str 普通字符串
4 * @param charset 编码格式可不传默认为Charset.defaultCharset()
5 * @return
6 * @throws UnsupportedEncodingException
7*/
8public static byte[] str2Arr(String str,String charset) throws UnsupportedEncodingException { Bytes(charset);
10 }
6. 将byte数组转换为指定编码格式的普通字符串
1/**
java数组字符串转数组2 * 将byte数组转换为指定编码格式的普通字符串
3 * @param arr byte数组
4 * @param charset 编码格式可不传默认为Charset.defaultCharset()
5 * @return
6 * @throws UnsupportedEncodingException
7*/
8public static String arr2Str(byte[] arr,String charset) throws UnsupportedEncodingException { 9return new String(arr,charset);
10 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论