java如何將一個十六進位制字串轉換成ASCII字串
阿新 • • 發佈:2019-01-07
廢話多直接上程式碼:
輸出結果:ecukey read actmac
public static String x16toString(String x16 , String CharsetName) throws UnsupportedEncodingException{ if(x16==null || "".equals(x16.trim())){ return ""; } String tempStr = ""; byte[] b = new byte[x16.length()/2]; for(int i=0; i<x16.length()/2; i++){ tempStr = x16.substring(i*2, i*2+2); int temp = Integer.parseInt(tempStr, 16); b[i] = (byte) temp; } String restr = new String(b,CharsetName); return restr; }
我們運行了看看:
public static void main(String[] args) throws UnsupportedEncodingException{
String x16 = "6563756B65792072656164206163746D6163";
System.out.println(x16toString(x16,"US-ASCII"));
}
輸出結果:ecukey read actmac