不能谷歌,百度了很久,沒有直接的轉換方法,參考
byte[]數組與十六進制字符串與字符串的互相轉換
http://blog.163.com/roadwalker@126/blog/static/113561841201013525720/
通過
http://www.4jhm.com/hzcode/queryg.php驗證,如下方法應該能實現。
public class Test {
public static void main(String[] args) {
String hzString = "人民比";
byte[] arrInput;
try
{
char[] chars = "0123456789ABCDEF".toCharArray();
arrInput = hzString.getBytes("GBK");
StringBuilder sOutput = new StringBuilder(arrInput.length);
int bit;
for (int i = 0; i < arrInput.length; i++) {
bit = (arrInput[i] & 0x0f0) >> 4;
sOutput.append(chars[bit]);
bit = arrInput[i] & 0x0f;
sOutput.append(chars[bit]);
}
System.out.println(sOutput.toString());
} catch (UnsupportedEncodingException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}