Gab*_*iro 134
String.format("%02X", value);
Run Code Online (Sandbox Code Playgroud)
如果您使用的X
不是x
aristar的建议,那么您不需要使用.toUpperCase()
.
zie*_*mer 29
Integer.toHexString(42);
Run Code Online (Sandbox Code Playgroud)
Javadoc:http: //docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#toHexString(int)
请注意,这可能会给你超过2位数!(一个整数是4个字节,所以你可能会得到8个字符.)
只要你绝对确定你只处理单字节值(255或更小),这就是获取填充的一些方法:
Integer.toHexString(0x100 | 42).substring(1)
Run Code Online (Sandbox Code Playgroud)
在Java中使用零填充左边填充整数(非十进制格式)的更多(和更好)解决方案.
ari*_*tar 24
String.format("%02X", (0xFF & value));
Run Code Online (Sandbox Code Playgroud)
Asa*_*aph 14
使用Integer.toHexString()
.如果你最终得到一个数字,别忘了用前导零填充.如果您的整数大于255,您将获得超过2位数.
StringBuilder sb = new StringBuilder();
sb.append(Integer.toHexString(myInt));
if (sb.length() < 2) {
sb.insert(0, '0'); // pad with leading zero if needed
}
String hex = sb.toString();
Run Code Online (Sandbox Code Playgroud)