Java byte类型转16进制字符串及逆转
2013-01-16 13:22
453 查看
public static String asHex(byte buf[]) {
StringBuffer strbuf = new StringBuffer(buf.length * 2);
int i;
for (i = 0; i < buf.length; i++)
{
if (((int) buf[i] & 0xff) < 0x10)
strbuf.append("0");
// System.out.print("["+buf[i]+":"+ Long.toString((int) buf[i] & 0xff, 10)+":"+Long.toString((int) buf[i] & 0xff, 16) +"]"
strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
}
return strbuf.toString();
}
public static byte[] asByte(String digit){
byte[] bs = new byte[digit.length()/2];
for(int i=digit.length(); i>0 ; i=i-2 ){
char cl = digit.charAt(i-1);
char ch = digit.charAt(i-2);
String v = ""+ch + cl;
int n = Integer.parseInt(v, 16);
bs[i/2-1] = (byte)(n & 0xFF);
}
StringBuffer strbuf = new StringBuffer(buf.length * 2);
int i;
for (i = 0; i < buf.length; i++)
{
if (((int) buf[i] & 0xff) < 0x10)
strbuf.append("0");
// System.out.print("["+buf[i]+":"+ Long.toString((int) buf[i] & 0xff, 10)+":"+Long.toString((int) buf[i] & 0xff, 16) +"]"
strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
}
return strbuf.toString();
}
public static byte[] asByte(String digit){
byte[] bs = new byte[digit.length()/2];
for(int i=digit.length(); i>0 ; i=i-2 ){
char cl = digit.charAt(i-1);
char ch = digit.charAt(i-2);
String v = ""+ch + cl;
int n = Integer.parseInt(v, 16);
bs[i/2-1] = (byte)(n & 0xFF);
}
相关文章推荐
- java &安卓 16进制字符串与byte互换以及int与byte类型数据转换
- Java 数据类型转换——byte[]/16进制/字符串互转
- Java 字符串,byte[],16进制的字符串互转
- java中字符串与16进制,byte之间的转换
- Java中byte与16进制字符串的互相转换
- Java 字符串,byte[],16进制的字符串互转
- Java中byte与16进制字符串的互相转换
- Java中byte与(16进制)字符串的互相转换
- Java String,Unicode,byte[],16进制的字符串互转
- Java 将数字转为16进制,然后转为字符串类型
- Java 字符串,byte[],16进制的字符串互转
- java中字符串与16进制,byte之间的转换
- Java中byte与16进制字符串的互相转换
- Java中byte与16进制字符串的互相转换(转)
- Java中byte转换为16进制的字符串一些自己的见解
- Java中byte与16进制字符串的互相转换
- Java中byte与16进制字符串的互相转换
- Java中byte与16进制字符串的互相转换
- Java中byte与16进制字符串的互相转换
- Java中byte与16进制字符串的互相转换