【发布时间】:2014-03-13 07:36:21
【问题描述】:
我有一个字节数组:
byte[] a = new byte[3];
我已经添加了一些字节。对于此示例,假设为 3、4 和 210。
我想打印这个字节串看起来像3 4 210,但我得到的是3 4 -46
我正在使用String.valueOf(a[i]) 进行转换。有没有办法强制这种转换给出无符号值?
提前致谢,
编辑:感谢对此问题的各种反馈。我没有意识到默认情况下 Java 字节是有符号值,因此怀疑 String.valueOf() 方法是问题所在。原来只是简单地使用
String.valueOf(a[i]&0xFF)
处理签名格式问题。
再次感谢您的反馈!
【问题讨论】:
-
Java 中没有无符号类型。如果您想打印
210,那么为什么不直接使用int[]? -
感谢您的宝贵时间和反馈。我每天都在学习这个Java。我没有意识到 Java 字节已签名。让我浏览一下回复并处理它们......
标签: java formatting