填充BigInteger的二进制表示

时间:2013-04-17 02:21:16

标签: java

只是想知道如何/是否可以将字符串填充到左侧。我看到使用format()但我不知道在我的情况下放入什么参数。

我最初使用BigInteger Message开始,然后说message.toString(2)将BigInteger的二进制表示形式作为字符串。但在这种情况下,我想检查长度是否是8的倍数,如果它不是将字符串填充到下一个8的倍数。

所以在我做message.toString(2)后,我调用plaintext的字符串的长度为63,所以我想通过在前面添加零来将其填充到长度为64。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

您可以像这样计算要添加到左侧的零的数量:

int numZeros = 8 - str.length() % 8;

如果numZeros不是8,您可以像这样填充字符串:

if (str.length() % 8 != 0) {
    str = "00000000".substring(str.length() % 8) + str;
}

这是demo on ideone