java中16进制字符串与普通字符串与byte数组之间的相互转化

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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值