1. 程式人生 > >java十六進位制字串和字串互轉(支援中文)

java十六進位制字串和字串互轉(支援中文)

*字串轉16進位制

/** * 字串轉換成為16進位制(無需Unicode編碼) * @param str * @return */ 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]); // sb.append(' '); } return sb.toString().trim(); } *16進位制轉為字串
/** * 16進位制直接轉換成為字串(無需Unicode解碼) * @param hexStr * @return */ public static String hexStr2Str(String hexStr) { String str = "0123456789ABCDEF"
; char[] hexs = hexStr.toCharArray(); byte[] bytes = new byte[hexStr.length() / 2]; int n; for (int i = 0; i < bytes.length; i++) { n = str.indexOf(hexs[2 * i]) * 16; n += str.indexOf(hexs[2 * i + 1]); bytes[i] = (byte) (n & 0xff); } return new String(bytes); }