16进制转byte

来源:百度知道 编辑:UC知道 时间:2024/05/02 07:26:53
如题,比如说16进制的是f0,转为一个byte怎么转,String类型的getByte返回的是数组类型的,我只想要一个byte的值

不太明白,什么叫16进制的中的一个byte,是一下这种?
public class Test {

public static void main(String args[]) {
System.out.println("test");
int str=0xf0;
byte[] b=new String(str+"").getBytes();
for(int i=0;i<b.length;i++)
System.out.println(b[i]-'0');
}
}
打印每一位?不过这样不用这么麻烦来做啊,你如果0xf0不是int是String的话那是不是16进制就没差了哦

我做过这样的程序,下面是转换用的函数:

public byte[] HexString2Bytes(String sString)
{
byte[] result = new byte[6];
byte[] temp = sString.getBytes();
for(int i=0; i<6; ++i )
{
result[i] = uniteBytes(temp[i*2], temp[i*2+1]);
}
return result;
}

其中uniteBytes函数如下:
private byte uniteBytes(byte src0, byte src1) {
byte _b0 = Byte.decode("0x" + new String(new byte[] {src0})).byteValue();
_b0 = (byte) (_b0 << 4);
byte _b1 = Byte.decode("0x" + new String(new byte[] {src1})).byteValue();