java base64 加码 解码
时间: 2023-11-08 19:55:43 浏览: 54
在 Java 中,可以使用java.util.Base64类进行Base64编码和解码。
编码:
```java
// 将字符串编码为Base64格式
byte[] encodedBytes = Base64.getEncoder().encode("Hello World".getBytes());
System.out.println("Encoded String : " + new String(encodedBytes));
```
解码:
```java
// 将Base64格式的字符串解码为普通字符串
byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
System.out.println("Decoded String : " + new String(decodedBytes));
```
注意:在Java 8之前,可以使用sun.misc.BASE64Encoder和sun.misc.BASE64Decoder类进行Base64编码和解码,但这些类不推荐使用,因为它们不是公共API。建议使用java.util.Base64类。
相关问题
Java写一个base64加码解码函数
好的,以下是Java实现的base64加码解码函数:
```java
import java.util.Base64;
public class Base64Util {
/**
* 对字符串进行base64编码
* @param str 需要编码的字符串
* @return 编码后的字符串
*/
public static String encode(String str) {
byte[] encodedBytes = Base64.getEncoder().encode(str.getBytes());
return new String(encodedBytes);
}
/**
* 对字符串进行base64解码
* @param str 需要解码的字符串
* @return 解码后的字符串
*/
public static String decode(String str) {
byte[] decodedBytes = Base64.getDecoder().decode(str.getBytes());
return new String(decodedBytes);
}
}
```
使用方法:调用 `Base64Util.encode` 方法进行编码,调用 `Base64Util.decode` 方法进行解码。
```java
String encodedStr = Base64Util.encode("Hello World");
System.out.println("Encoded string: " + encodedStr);
String decodedStr = Base64Util.decode(encodedStr);
System.out.println("Decoded string: " + decodedStr);
```
输出结果为:
```
Encoded string: SGVsbG8gV29ybGQ=
Decoded string: Hello World
```
Java base64标准解码
Base64是一种用于编码二进制数据的常见方法,使得这些数据可以在文本中传输,而不会被误解为特殊的字符。在Java中,标准库提供了一个`java.util.Base64`工具类来进行Base64的编码和解码操作。
**Base64解码步骤:**
1. **创建`Base64`对象**: 使用`Base64.getDecoder()`方法创建一个解码器实例。
2. **提供待解码的数据**: 通常是一个字符串,包含Base64编码过的二进制数据。
3. **调用解码方法**: 使用`decodeToString()`方法将字符串解码回原始的字节序列。
4. **处理结果**: 返回的是`byte[]`类型的字节数组,可以根据需要进一步处理或转换为其他格式。
以下是一个简单的Java代码示例:
```java
import java.util.Base64;
public byte[] decodeBase64(String encodedData) {
Base64.Decoder decoder = Base64.getDecoder();
return decoder.decode(encodedData);
}
// 使用示例:
String encoded = "SGVsbG8gV29ybGQh"; // 假设这是已编码的字符串
byte[] decodedBytes = decodeBase64(encoded);
```