【发布时间】:2011-08-07 17:11:21
【问题描述】:
我有一个大小为 2,3 或 4 的字节数组。我需要将其转换为正确的整数值。我还需要反向执行此操作,即一个 2,3 或 4 个字符的整数到一个字节数组。
例如,原始十六进制字节为:54 和 49。解码后的字符串 US-ASCII 值为 61。因此整数答案需要为 61。
我已经阅读了我能找到的关于stackoverflow等的所有转换问题,但他们都给出了完全错误的答案,我不知道它是否可能是编码?
如果我做new String(lne,"US-ASCII"),其中lne 是我的字节数组,我得到正确的61。但是当我这样做((int)lne[0] << 8) | ((int)lne[1] & 0xFF) 时,我得到了完全错误的答案。
这可能是一个愚蠢的错误,或者我完全不了解 Java 中的数字表示方案和编码/解码思想。
任何帮助将不胜感激。
注意:我知道我可以将字符串解析为整数,但我想知道是否有一种方法可以使用快速运算,例如移位和二进制算术?
【问题讨论】: