我有一個可以是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中的數字表示方案和編碼/解碼思想。
任何幫助,將不勝感激。
注意:我知道我只能將字符串解析爲整數,但我想知道是否有方法使用快速操作,如移位和二進制算術來代替?