2

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

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

因此,在我的情况下,在我message.toString(2)调用该字符串的长度plaintext为 63 之后,我想通过在前面添加一个零来将其填充到长度 64。

任何帮助将不胜感激!

4

1 回答 1

3

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

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

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

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

这是关于 ideone 的演示

于 2013-04-17T02:26:20.140 回答