您的位置:首页 > 编程语言 > Java开发

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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: