Если вы начинаете со строки, длина которой, как вы знаете, <= 8 символов, вы можете сделать что-то вроде этого: </p>
s = "00000000".substring(0, 8 - s.length()) + s;
На самом деле, это также работает:
s = "00000000".substring(s.length()) + s;
Если вы не уверены, что длина s
не превышает 8 символов, вам необходимо проверить его перед использованием любого из вышеперечисленных (или использовать Math.min(8, s.length())
или быть готовым поймать IndexOutOfBoundsException
). *
Если вы начинаете с целого числа и хотите преобразовать его в шестнадцатеричное с заполнением, вы можете сделать это:
String s = String.format("%08x", Integer.valueOf(val));