将十六进制字符串转换为字节而非字节数

时间:2014-11-18 17:19:40

标签: java android hex byte

我需要转换我从颜色代码

获得的十六进制
int color = singleColor.getColor();

                String rgbString = "R: " + Color.red(color) + " B: " + Color.blue(color) + " G: " + Color.green(color);
                String hexRed = "0x" + Integer.toHexString(Color.red(color));
                String hexGreen = "0x" + Integer.toHexString(Color.green(color));
                String hexBlue= "0x" + Integer.toHexString(Color.blue(color));
                Log.e("hex string", hexRed + hexGreen + hexBlue);

生成的日志是........ 0xb30x120xff

这是我想要完成的

但我希望将其转换为字节,然后将它们作为字节数组连接起来,这样就完全正常了

byte[] hex_txt = {(byte)0xff, (byte)0x00, (byte)0x00};
sendData(hex_txt);

我的问题是如何将此字符串转换为这样,以便我可以发送数据....

byte byteRed = Byte.valueOf(hexRed);

这不是工作数字格式异常也尝试了其他无效的解决方案

向thx寻求帮助

1 个答案:

答案 0 :(得分:-2)

您只能将字符串转换为字节数组,反之亦然。

        String example = "This is an example";
        byte[] bytes = example.getBytes();

        System.out.println("Text : " + example);
        System.out.println("Text [Byte Format] : " + bytes);

Google“将字符串转换为字节”,您会发现很多将字符串转换为字节[]

http://www.mkyong.com/java/how-do-convert-string-to-byte-in-java/