1
我正在尋找一種方法,如何可逆地將任意長度的字節[]轉換爲正數數字(字符串在數字中的表示形式)。Java:ByteArray爲正數,反之亦然
的BigInteger提供了一個解決方案:
byte[] originalBytes = ...
String string = new BigInteger(originalBytes).toString();
...
byte[] decodedBytes = new BigInteger(string).toByteArray();
但是,我不知道如何讓擺脫優雅負值(或其中存儲的標誌),並保持過程可逆的。
我不知道如何保持相同的數字,但刪除負值。你可以在所有的數字上加127,但顯然所有的數字都是不同的。這個過程將是可逆的。 –
澄清「優雅地擺脫負值」 –
@Tron你是說你收到的字節沒有二進制補碼形式,換句話說你正在使用無符號字節?你能用一個簡單的例子來展開你的問題嗎? –