Ted*_*opp 16
如果你从一个你知道长度<= 8个字符的字符串开始,你可以这样做:
s = "00000000".substring(0, 8 - s.length()) + s;
Run Code Online (Sandbox Code Playgroud)
实际上,这也有效:
s = "00000000".substring(s.length()) + s;
Run Code Online (Sandbox Code Playgroud)
如果您不确定s最多8个字符,则需要在使用上述任何一个之前进行测试(或使用Math.min(8, s.length())或准备捕获IndexOutOfBoundsException).
如果您从一个整数开始并想要使用填充将其转换为十六进制,则可以执行以下操作:
String s = String.format("%08x", Integer.valueOf(val));
Run Code Online (Sandbox Code Playgroud)
org.apache.commons.lang.StringUtils.leftPad(String str, int size, char padChar)
Run Code Online (Sandbox Code Playgroud)
你可以看看这里