package android.zyapi; import java.io.ByteArrayOutputStream; public class Conversion { /* * 16进制数字字符 */ private static String hexString="0123456789ABCDEF"; public static String encode(String str) { byte[] bytes=str.getBytes(); StringBuilder sb=new StringBuilder(bytes.length*2); for(int i=0;i>4)); sb.append(hexString.charAt((bytes[i]&0x0f)>>0)); } return sb.toString(); } public static String decode(String bytes) { ByteArrayOutputStream baos=new ByteArrayOutputStream(bytes.length()/2); for(int i=0;i>> 4)); temp.append((byte) (bytes[i] & 0x0f)); } return temp.toString().substring(0, 1).equalsIgnoreCase("0") ? temp .toString().substring(1) : temp.toString(); } public static String bytesToHexString(byte[] src) { StringBuilder stringBuilder = new StringBuilder("0x"); if (src == null || src.length <= 0) { return null; } char[] buffer = new char[2]; for (int i = 0; i < src.length; i++) { buffer[0] = Character.forDigit((src[i] >>> 4) & 0x0F, 16); buffer[1] = Character.forDigit(src[i] & 0x0F, 16); //System.out.println(buffer); stringBuilder.append(buffer); } return stringBuilder.toString(); } }