字节数组 与 十六进制间的转换
2013-01-21 12:38
92 查看
/article/3770567.html
字节数组 与 十六进制间的转换
博客分类:
网络编程
bytebit数据类型操作符java
Java代码
![](http://cuisuqiang.iteye.com/images/icon_copy.gif)
![](http://cuisuqiang.iteye.com/images/icon_star.png)
![](http://cuisuqiang.iteye.com/images/spinner.gif)
package com.test;
import java.util.Arrays;
public class Bytes {
private final
static byte[] hex =
"0123456789ABCDEF".getBytes();
private static
int parse(char c) {
if (c >= 'a')
return (c - 'a' +
10) & 0x0f;
if (c >= 'A')
return (c - 'A' +
10) & 0x0f;
return (c - '0') &
0x0f;
}
// 从字节数组到十六进制字符串转换
public static String Bytes2HexString(byte[] b) {
byte[] buff = new
byte[2 * b.length];
for (int i =
0; i < b.length; i++) {
buff[2 * i] = hex[(b[i] >>
4) & 0x0f];
buff[2 * i + 1] = hex[b[i] &
0x0f];
}
return new String(buff);
}
// 从十六进制字符串到字节数组转换
public static
byte[] HexString2Bytes(String hexstr) {
byte[] b = new
byte[hexstr.length() / 2];
int j = 0;
for (int i =
0; i < b.length; i++) {
char c0 = hexstr.charAt(j++);
char c1 = hexstr.charAt(j++);
b[i] = (byte) ((parse(c0) <<
4) | parse(c1));
}
return b;
}
public static
void main(String[] args) {
byte[] bt = new
byte[]{10,
2, 12,
14, 1,
0, 0,
1, 0,
31, 45,
1, 8,
0, 1,
0, -96, -45,
10, 3};
System.out.println(Bytes2HexString(bt));
System.out.println(Arrays.toString(HexString2Bytes("0A020C0E01000001001F2D0108000100A0D30A03")));
}
}
字节数组 与 十六进制间的转换
博客分类:
网络编程
bytebit数据类型操作符java
Java代码
![](http://cuisuqiang.iteye.com/images/icon_copy.gif)
![](http://cuisuqiang.iteye.com/images/icon_star.png)
![](http://cuisuqiang.iteye.com/images/spinner.gif)
package com.test;
import java.util.Arrays;
public class Bytes {
private final
static byte[] hex =
"0123456789ABCDEF".getBytes();
private static
int parse(char c) {
if (c >= 'a')
return (c - 'a' +
10) & 0x0f;
if (c >= 'A')
return (c - 'A' +
10) & 0x0f;
return (c - '0') &
0x0f;
}
// 从字节数组到十六进制字符串转换
public static String Bytes2HexString(byte[] b) {
byte[] buff = new
byte[2 * b.length];
for (int i =
0; i < b.length; i++) {
buff[2 * i] = hex[(b[i] >>
4) & 0x0f];
buff[2 * i + 1] = hex[b[i] &
0x0f];
}
return new String(buff);
}
// 从十六进制字符串到字节数组转换
public static
byte[] HexString2Bytes(String hexstr) {
byte[] b = new
byte[hexstr.length() / 2];
int j = 0;
for (int i =
0; i < b.length; i++) {
char c0 = hexstr.charAt(j++);
char c1 = hexstr.charAt(j++);
b[i] = (byte) ((parse(c0) <<
4) | parse(c1));
}
return b;
}
public static
void main(String[] args) {
byte[] bt = new
byte[]{10,
2, 12,
14, 1,
0, 0,
1, 0,
31, 45,
1, 8,
0, 1,
0, -96, -45,
10, 3};
System.out.println(Bytes2HexString(bt));
System.out.println(Arrays.toString(HexString2Bytes("0A020C0E01000001001F2D0108000100A0D30A03")));
}
}
相关文章推荐
- Java整数-字节,字节-字符,字节数组-十六进制字符串转换
- java 中字节数组与十六进制字符串及普通字符串之间的转换
- 主题:Java整数-字节,字节-字符,字节数组-十六进制字符串转换
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- 字节数组和字符串按十六进制互相转换
- 字节数组 与 十六进制间的转换
- 字节数组与十六进制间的转换
- 随手在网上找了一段将字节数组转换为十六进制字符串的代码,结果被坑惨了
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- 字节数组和字符串按十六进制互相转换
- Java 字节数组与十六进制表示的字符串,互相转换
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- MSDN将字节数组转换为十六进制值字符串时 Byte 的用法
- 字节数组、数值和十六进制字符串的转换
- JavaScript十六进制字符串和字节数组相互转换
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换
- 我也分享一个字节数组到十六进制字符串互相转换
- JavaScript十六进制字符串和字节数组相互转换
- 随手在网上找了一段将字节数组转换为十六进制字符串的代码,结果被坑惨了