Java、Android Stringと16進HexStringは互いに変換します。
1169 ワード
Java、Android Stringと16進HexStringは互いに変換します。
また、16進数とbyteを互いに変換し、二つの案を提供しました。http://blog.csdn.net/yanzhenjie1003/article/details/44887621
また、16進数とbyteを互いに変換し、二つの案を提供しました。http://blog.csdn.net/yanzhenjie1003/article/details/44887621
/**
* String 16
* @author YOLANDA
* @param str
* @return
*/
public static String stringToHex(String str) {
//
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
// 2 16
for (int i = 0; i < bytes.length; i++) {
sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));
sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));
}
return sb.toString();
}
/**
* 16 String
* @author YOLANDA
* @param bytes
* @return
*/
public static String hexToString(String hexStr) {
ByteArrayOutputStream baos = new ByteArrayOutputStream(hexStr.length() / 2);
// 2 16
for (int i = 0; i < hexStr.length(); i += 2){
try {
baos.write((hexString.indexOf(hexStr.charAt(i)) << 4 | hexString.indexOf(hexStr.charAt(i + 1))));
} catch (StringIndexOutOfBoundsException e) {
return " 16 ";
}
}
return new String(baos.toByteArray());
}