1
我有一个嵌入式系统,我必须将Java应用程序与之集成。到目前为止,我的工作进展顺利,除了现在遇到了需要发送数字160的问题。 OutputStream只接受一个字节[],当我尝试将160(十六进制值0xA0)插入数组时,它将被转换为-96。我知道Java字节只支持有符号值(-127到128),所以我想知道是否有其他人有类似的问题处理嵌入式系统和他们的解决方案。Java:如何在OutputStream中传递一个高于128的int值
下面是一些示例代码:
OutputStream oStream = mmSocket.getOutputStream();
byte attributeCode = (byte)0xA0;
byte[] buffer = new byte[bufferSize];
buffer[command.length + 1] = attributeCode;
oStream.write(buffer);
嵌入式系统C语言编写,已经好几年了,所以没有机会有改变。
如果OP需要打印它,这将工作。 '((int)attributeCode&0xFF)' –
非常感谢你们! – user2569400