怎么把字符串转化为十六进制字符串 java

如题所述

思路:用一个初始化为0~9~a~f的字符串数组,也就是一个十六进制对应表,用这个对应表即可算出一个十六进制字符串的数值。

方法如下:
public static String str2HexStr(String str) {
char[] chars = "0123456789ABCDEF".toCharArray();
StringBuilder sb = new StringBuilder("");
byte[] bs = str.getBytes();
int bit;
for (int i = 0; i < bs.length; i++) {
bit = (bs[i] & 0x0f0) >> 4;
sb.append(chars[bit]);
bit = bs[i] & 0x0f; //位于运算

sb.append(chars[bit]); //进行字符串的拼接

}
return sb.toString();
}

调用方法如下:
String str = str2HexStr("asbd");
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-15
字符是指String?
十六进制字符串,指十六进制数字对应的字符串?

那就是

Integer.toHexString( (byte) String.charAt(i) )本回答被提问者采纳
相似回答