Java 如何从字节的字符串表示形式创建字节
我正在从事一个项目(使用java 2 ee的web应用程序),我需要在Java 如何从字节的字符串表示形式创建字节,java,jakarta-ee,codec,Java,Jakarta Ee,Codec,我正在从事一个项目(使用java 2 ee的web应用程序),我需要在COM端口上发送OutputStream,该OutputStream中的数据类型是byte[],该数据的一个字节是我试图与之通信的目标硬件的地址。 问题是硬件的地址必须由用户在网页中提供。那么,如何将字节的字符串表示形式转换为实的字节? 我希望下面的代码可以使问题更生动 String data1 = "0xA1"; String data2 = "0xAB"; 我需要在OutputStream中放入以下行 byte[] b
COM
端口上发送OutputStream
,该OutputStream
中的数据类型是byte[]
,该数据的一个字节是我试图与之通信的目标硬件的地址。
问题是硬件的地址必须由用户在网页中提供。那么,如何将字节的字符串表示形式转换为实的字节?
我希望下面的代码可以使问题更生动
String data1 = "0xA1";
String data2 = "0xAB";
我需要在OutputStream中放入以下行
byte[] b = new byte[]{0xA1,0xAB};
有人说使用org.apache.commons.codec.binary.Base64可以解决这个问题,但我没有任何线索。
提前感谢。您可以使用以下方法将字符串转换为其字节值表示形式,但只需发送字符串中不带“0x”的部分
可以使用下面的方法将字符串转换为其字节值表示形式,但只需发送字符串中不带“0x”的部分
这很简单:
byte b = Integer.decode("0xA1").byteValue();
链接到。很容易:
byte b = Integer.decode("0xA1").byteValue();
链接到。,如果您希望自己做而不是通过函数调用来做,那么可以从中获得乐趣
像下面这样做
获取ASCII值
将其除以2收集提醒(1或0)
最后颠倒整个顺序
例如,对于十进制32,您应该得到0100000
如果您正在初始化COM端口,还可以使用一些序列(ASCII序列)
直接检查手册,而不是二进制文件 如果您想自己做而不是通过函数调用来做,那么
像下面这样做
获取ASCII值
将其除以2收集提醒(1或0)
最后颠倒整个顺序
例如,对于十进制32,您应该得到0100000
如果您正在初始化COM端口,还可以使用一些序列(ASCII序列)
直接检查手册,而不是二进制文件 像这个?thnx,但那不起作用像这个?thnx,但那不起作用