android base64转16进制数据
时间: 2023-12-27 07:02:30 浏览: 105
base64(包含16进制数值型编码)
在 Android 中,可以使用以下代码将 Base64 编码的字符串转换为 16 进制数据:
```java
String base64String = "SGVsbG8gV29ybGQh"; // Base64 编码的字符串
byte[] base64Bytes = Base64.decode(base64String, Base64.DEFAULT); // 解码 Base64 字符串为字节数组
String hexString = bytesToHex(base64Bytes); // 将字节数组转换为 16 进制字符串
Log.d(TAG, "Hex string: " + hexString); // 输出 16 进制字符串
// 将字节数组转换为 16 进制字符串的方法
private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
private static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for (int i = 0; i < bytes.length; i++) {
int v = bytes[i] & 0xFF;
hexChars[i * 2] = HEX_ARRAY[v >>> 4];
hexChars[i * 2 + 1] = HEX_ARRAY[v & 0x0F];
}
return new String(hexChars);
}
```
在以上代码中,我们首先使用 `Base64.decode()` 方法将 Base64 编码的字符串解码为字节数组,然后使用 `bytesToHex()` 方法将字节数组转换为 16 进制字符串。最后,我们使用 `Log.d()` 方法输出转换后的 16 进制字符串。
阅读全文