Java中byte[]、String、Hex字符串等转换的方法
程序员文章站
2023-12-19 19:29:04
代码如下所示:
/*输入一个byte和byte[]合并为byte[]*/
public byte[] bytemerger(byte byte_1, byte...
代码如下所示:
/*输入一个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字符串等转换的方法,希望对大家有所帮助
推荐阅读
-
Java中byte[]、String、Hex字符串等转换的方法
-
Java中byte[]、String、Hex字符串等转换的方法
-
C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法
-
C#中图片.BYTE[]和base64string的转换方法
-
C#中Byte[]和String之间转换的方法
-
Java中拼接字符串String的N种方法总结
-
Java中拼接字符串String的N种方法总结
-
java实现将字符串中首字母转换成大写,其它全部转换成小写的方法示例
-
String常用使用方法,1.创建string的常用3+1种方式,2.引用类型使用==比较地址值,3.String当中获取相关的常用方法,4.字符串的截取方法,5.String转换常用方法,6.切割字符串----java
-
java字符串类String类中的使用方法