java中16进制字符串与普通字符串与byte数组之间的相互转化
程序员文章站
2024-03-17 11:16:10
...
java中16进制字符串与普通字符串与byte数组之间的相互转化
最近在写Java调用C#写的socket接口的客户端调用demo,要用到一些字节转换相关的代码,找到一篇博客不错,转发一下,顺便收藏。
博客原文出处:https://www.cnblogs.com/hetutu-5238/p/10648116.html
1. 方法依赖commons-codec包
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
2. 普通字符串转换为16进制字符串
/**
* 将普通字符串转换为16进制字符串
* @param str 普通字符串
* @param lowerCase 转换后的字母为是否为小写 可不传默认为true
* @param charset 编码格式 可不传默认为Charset.defaultCharset()
* @return
* @throws UnsupportedEncodingException
*/
public static String str2HexStr(String str,boolean lowerCase,String charset)
throws UnsupportedEncodingException {
return Hex.encodeHexString(str.getBytes(charset),lowerCase);
}
3. 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);
}
4. 16进制字符串转换为byte数组
/**
* 将16进制字符串转换为byte数组
* @param hexItr 16进制字符串
* @return
*/
public static byte[] hexItr2Arr(String hexItr)
throws DecoderException {
return Hex.decodeHex(hexItr);
}
5. byte数组转换为16进制字符串
/**
* byte数组转化为16进制字符串
* @param arr 数组
* @param lowerCase 转换后的字母为是否为小写 可不传默认为true
* @return
*/
public static String arr2HexStr(byte[] arr,boolean lowerCase){
return Hex.encodeHexString(arr, lowerCase);
}
6. 将普通字符串转换为指定编码格式的byte数组
/**
* 将普通字符串转换为指定格式的byte数组
* @param str 普通字符串
* @param charset 编码格式 可不传默认为Charset.defaultCharset()
* @return
* @throws UnsupportedEncodingException
*/
public static byte[] str2Arr(String str,String charset) ‘’throws UnsupportedEncodingException {
return str.getBytes(charset);
}
7. 将byte数组转换为指定编码格式的普通字符串
/**
* 将byte数组转换为指定编码格式的普通字符串
* @param arr byte数组
* @param charset 编码格式 可不传默认为Charset.defaultCharset()
* @return
* @throws UnsupportedEncodingException
*/
public static String arr2Str(byte[] arr,String charset)
throws UnsupportedEncodingException {
return new String(arr,charset);
}
上一篇: 原生js实现放大镜效果
下一篇: js根据属性值获取元素