我有一个可以是2,3或4大小的字节数组。我需要将其转换为正确的整数值。我也需要做相反的操作,例如一个2,3或4个字符的整数到一个字节数组。将US-ASCII编码的字节转换为整数并返回
例如,原始十六进制字节为:54和49.解码的字符串US-ASCII值是61,所以,整数答案必须是61
我已经阅读计算器等所有的转换问题,我可以找到,但他们都给出了完全错误的答案,我不知道它是否可以编码?
如果我做new String(lne,"US-ASCII")
,其中lne
是我的字节数组,我得到正确的61.但是,当这样做((int)lne[0] << 8) | ((int)lne[1] & 0xFF)
,我得到了完全错误的答案。
这可能是一个愚蠢的错误,或者我完全不理解Java中的数字表示方案和编码/解码思想。
任何帮助,将不胜感激。
注意:我知道我只能将字符串解析为整数,但我想知道是否有方法使用快速操作,如移位和二进制算术来代替?