Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字节的字符串表示形式创建字节_Java_Jakarta Ee_Codec - Fatal编程技术网

Java 如何从字节的字符串表示形式创建字节

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

我正在从事一个项目(使用java 2 ee的web应用程序),我需要在
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,但那不起作用