2013-04-17 88 views
2

想知道如何/是否可以將字符串填充到左側。我看到使用格式(),但我不知道要爲我的情況放入什麼參數。填充BigInteger的二進制表示法

Im最初以BigInteger Message開頭,然後說message.toString(2)使BigInteger的二進制表示形式爲字符串。但在這種情況下,我想檢查長度是否是8的倍數,並且如果它沒有將字符串填充到下一個8的倍數的長度。

所以在我的情況下,我做了message.toString(2)那個叫做plaintext的字符串是63,所以我想通過在前面加一個零來讓它長到64。

任何幫助將不勝感激!

回答

3

就可以計算出要添加到左邊像這樣的零的個數:

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

如果numZeros不是8,你可以墊字符串是這樣的:

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

這是一個demo on ideone

+0

謝謝先生,直截了當的回答!完美的作品! – erp