Java 16进制字符串转base64
时间: 2023-09-11 14:07:17 浏览: 194
可以使用Java内置的Base64类来实现。
首先将16进制字符串转换为byte数组,然后再使用Base64类的`getEncoder()`方法将byte数组转换为base64字符串。
以下是示例代码:
```java
import java.util.Arrays;
import java.util.Base64;
public class HexToBase64 {
public static void main(String[] args) {
String hexString = "48656C6C6F20576F726C64";
byte[] bytes = hexStringToByteArray(hexString);
String base64String = Base64.getEncoder().encodeToString(bytes);
System.out.println(base64String); // SGVsbG8gV29ybGQ=
}
private static byte[] hexStringToByteArray(String hexString) {
int len = hexString.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
+ Character.digit(hexString.charAt(i+1), 16));
}
return data;
}
}
```
在上面的代码中,`hexStringToByteArray()`方法将16进制字符串转换为byte数组,`Base64.getEncoder().encodeToString(bytes)`将byte数组转换为base64字符串。
阅读全文