我正在开发一个项目(使用java 2 ee的Web应用程序),我需要在OutputStream
端口上发送COM
,OutputStream
中的数据类型为{{ 1}},此数据的一个字节是我尝试与之通信的目标硬件的地址。
问题是硬件的地址必须由用户在网页内提供。那么如何将字节的字符串表示转换为真实byte[]
?
我希望以下代码可以使问题更加生动
byte
我需要在OutputStream中添加以下行。
String data1 = "0xA1";
String data2 = "0xAB";
有人说使用byte[] b = new byte[]{0xA1,0xAB};
可以解决问题,但我没有任何线索。
提前谢谢你。
答案 0 :(得分:3)
答案 1 :(得分:1)
你可以使用下面的方法将String转换为它的字节值表示,但你只需要发送它的部分字符串而不用“0x”
public static byte convertStringToByte(String str){
return (byte)Integer.parseInt(str, 16);
}
答案 2 :(得分:0)
如果你想自己动手而不是通过函数调用来实现它 像下面这样做
获取ASCII值
除以2收集提醒(将为1或0)
最后颠倒整个序列
例如,对于十进制32,您应该得到0100000
如果要初始化COM端口,还可以使用一些序列(ASCII序列) 直接而不是二进制,检查手册。