Java中byte[]、String、Hex字符串等转换的方法

 更新时间:2018年05月31日 11:49:29   投稿:mrr  
这篇文章主要介绍了Java中byte[]、String、Hex字符串等转换的方法,代码很简单,需要的朋友可以参考下

代码如下所示:

/*输入一个byte和byte[]合并为byte[]*/ 
public byte[] byteMerger(byte byte_1, byte[] byte_2) { 
 byte[] byte_3 = new byte[1 + byte_2.length]; 
 byte_3[0] = byte_1; 
 System.arraycopy(byte_2, 0, byte_3, 1, byte_2.length); 
 return byte_3; 
 } 
/*输入一个byte[]和byte[]合并为byte[]*/ 
public byte[] byteMerger(byte[] byte_1, byte[] byte_2) { 
 byte[] byte_3 = new byte[1 + byte_2.length]; 
 byte_3[0] = byte_1; 
 System.arraycopy(byte_2, 0, byte_3, byte_1.length, byte_2.length); 
 return byte_3; 
 } 
/*输入一个string(16进制的字符hex eg:ff)输出为16进制的byte[],注意输入为小写的hex字符串*/ 
public byte[] hexStringToByte(String hex) { 
 int len = (hex.length() / 2); 
 byte[] result = new byte[len]; 
 char[] achar = hex.toCharArray(); 
 for (int i = 0; i < len; i++) { 
  int pos = i * 2; 
  result[i] = (byte) (charToByte(achar[pos]) << 4 | charToByte(achar[pos + 1])); 
 } 
 //System.out.println(Arrays.toString(result)); 
 return result; 
 } 
 private byte charToByte(char c) { 
 //return (byte) "0123456789ABCDEF".indexOf(c); 
 return (byte) "0123456789abcdef".indexOf(c); 
 } 
/*输入10进制数字字符串,输出hex字符串(2位,eg: f 则输出 0f)*/ 
String value= "100"; 
int parseInt = Integer.parseInt(value, 10); 
String hexString = Integer.toHexString(parseInt); 
  if (hexString.length() < 2) { 
  hexString = '0' + hexString; 
  } 
  header = header + hexString; 
 } 
/*输入16进制byte[]输出16进制字符串*/ 
 public static String byteArrayToHexStr(byte[] byteArray) { 
 if (byteArray == null) { 
  return null; 
 } 
 char[] hexArray = "0123456789ABCDEF".toCharArray(); 
 char[] hexChars = new char[byteArray.length * 2]; 
 for (int j = 0; j < byteArray.length; j++) { 
  int v = byteArray[j] & 0xFF; 
  hexChars[j * 2] = hexArray[v >>> 4]; 
  hexChars[j * 2 + 1] = hexArray[v & 0x0F]; 
 } 
 return new String(hexChars); 
 } 

PS:下面看下js对url中特殊字符的转换

let str = "http%3A%2F%2Fxxxxxxxx%2Findex.php%2Fxxxxxxx%2FMember%2Fregister%3Frecommend_id%3D11442%26id%3D87"; 
function replaceStr(str){ 
 str = str.replace(/%3A/g, ":"); 
 str = str.replace(/%2F/g, "/"); 
 str = str.replace(/%3F/g, "?"); 
 str = str.replace(/%3D/g, "="); 
 str = str.replace(/%26/g, "&"); 
 str = str.replace(/%2B/g, "+"); 
 str = str.replace(/%20/g, " "); 
 str = str.replace(/%23/g, "#"); 
 return str; 
} 
console.log(replaceStr(str)); 

总结

以上所述是小编给大家介绍的Java中byte[]、String、Hex字符串等转换的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot集成JWT生成token及校验方法过程解析

    SpringBoot集成JWT生成token及校验方法过程解析

    这篇文章主要介绍了SpringBoot集成JWT生成token及校验方法过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Springboot 整合 Java DL4J 实现文物保护系统的详细过程

    Springboot 整合 Java DL4J 实现文物保护系统的详细过程

    在数字化时代,文物保护尤为关键,本文介绍如何利用SpringBoot和Deeplearning4j构建一个图像识别的文物保护系统,系统采用卷积神经网络(CNN),能够识别文物的损坏情况,本文介绍Springboot 整合 Java DL4J 实现文物保护系统,感兴趣的朋友一起看看吧
    2024-10-10
  • Kotlin教程之函数和包的定义和流程控制

    Kotlin教程之函数和包的定义和流程控制

    这篇文章主要介绍了Kotlin教程之函数和包的定义和流程控制的相关资料,需要的朋友可以参考下
    2017-05-05
  • java  多线程的三种构建方法

    java 多线程的三种构建方法

    这篇文章主要介绍了java 多线程的三种构建方法的相关资料,这里提供三种实现方法,希望大家能够掌握,很重要的基础知识,需要的朋友可以参考下
    2017-09-09
  • SpringBoot集成Zipkin实现分布式全链路监控

    SpringBoot集成Zipkin实现分布式全链路监控

    这篇文章主要介绍了SpringBoot集成Zipkin实现分布式全链路监控的方法啊,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Vue.Js及Java实现文件分片上传代码实例

    Vue.Js及Java实现文件分片上传代码实例

    这篇文章主要介绍了Vue.Js及Java实现文件分片上传代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 浅谈一下Java多线程断点复制

    浅谈一下Java多线程断点复制

    这篇文章主要介绍了浅谈一下Java多线程断点复制,当程序执行中断时(出现错误、断电关机),仍可以从上次复制过程中重新开始(不必从头开始复制),需要的朋友可以参考下
    2023-04-04
  • idea导入配置Spring Boot项目的详细步骤教程

    idea导入配置Spring Boot项目的详细步骤教程

    这篇文章主要给大家介绍了关于idea导入配置Spring Boot项目的详细步骤,在项目开发过程中,无论是导入运行团队开发的项目,还是一些开源项目,还是其他的项目,想要在IDEA中完整的运行起来总有很多坑,需要的朋友可以参考下
    2023-08-08
  • Java empty、null、blank的区别小结

    Java empty、null、blank的区别小结

    本文主要介绍了Java empty、null、blank的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • SpringBoot集成gRPC微服务工程搭建实践的方法

    SpringBoot集成gRPC微服务工程搭建实践的方法

    这篇文章主要介绍了SpringBoot集成gRPC微服务工程搭建实践的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01

最新评论