繁体   English   中英

如何将二进制字符串转换为十六进制并通过 java 中的 Uart 端口发送

[英]how to convert binary string to hex and send over Uart Port in java

我有一个看起来像这样的二进制字符串 11001111 00011111 11111111 并希望将其转换为十六进制并通过 Uart 发送到 Arduino。 如何在不获取带符号值的情况下将每个 8 位转换为十六进制,因为字节数据类型不支持大于 128 的值。

我正在这样做

string b = "110011110001111111111111"
byte[] bval = new BigInteger(b, 2).toByteArray();

预期 Output:cf1fff

由于所有这些位对应于数据中的某些数据变化,因此接收端的行为会发生变化。 请告诉我哪里出错了。

String b = "110011110001111111111111";

int decimal=Integer.parseInt(b,2);

String t = Integer.toHexString(decimal);

byte[] bval = t.getBytes();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM