我需要编写一个通过串口发送字节的java程序。我正在使用rxtx库。问题是在Java中一切都是签名的,在一个字节中我需要发送0xfc
,但在Java中这是签名的,它定义为-4。那么如何在java中创建一个无符号字节,以便在一个字节中我可以从0发送到255?
答案 0 :(得分:3)
没关系 - 你可以在必要的地方施放。如果您有一个允许发送字节的API,并且在Java中发送-4的字节,则位模式将与无符号字节0xfc相同。
如果您的值为int
或short
,范围为0-255,则只需将其转换为byte
,并再次表示正确的位模式,即使如果原始值高于127,则该值将变为负值。
答案 1 :(得分:0)
对于字节b
,b & 0xFF
将返回无符号整数值..这对你没关系吗?
答案 2 :(得分:0)
这将有效
public static int unsignedToBytes(byte b) {
return b & 0xFF;
}