1
我正在寻找一种方法,如何可逆地将任意长度的字节[]转换为正数数字(字符串在数字中的表示形式)。Java:ByteArray为正数,反之亦然
的BigInteger提供了一个解决方案:
byte[] originalBytes = ...
String string = new BigInteger(originalBytes).toString();
...
byte[] decodedBytes = new BigInteger(string).toByteArray();
但是,我不知道如何让摆脱优雅负值(或其中存储的标志),并保持过程可逆的。
我不知道如何保持相同的数字,但删除负值。你可以在所有的数字上加127,但显然所有的数字都是不同的。这个过程将是可逆的。 –
澄清“优雅地摆脱负值” –
@Tron你是说你收到的字节没有二进制补码形式,换句话说你正在使用无符号字节?你能用一个简单的例子来展开你的问题吗? –