java byte string_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字符串等转换的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值