java base64编码代码
时间: 2023-04-11 15:01:52 浏览: 273
可以使用Java自带的Base64类来进行编码和解码,示例代码如下:
// 编码
String str = "Hello, world!";
String encodedStr = Base64.getEncoder().encodeToString(str.getBytes());
System.out.println(encodedStr);
// 解码
byte[] decodedBytes = Base64.getDecoder().decode(encodedStr);
String decodedStr = new String(decodedBytes);
System.out.println(decodedStr);
注意:这里使用的是Java 8中新增的Base64类,如果是早期版本的Java,需要使用第三方库或手动实现Base64编码和解码。
相关问题
java base64编码
Java中的Base64编码可以使用多种方式进行。在Java 8中,可以使用java.util包下的Base64类来处理Base64的编码和解码。可以通过以下步骤进行编码和解码:
1. 首先,创建一个Base64编码器和解码器对象:
```
final Base64.Encoder encoder = Base64.getEncoder(); final Base64.Decoder decoder = Base64.getDecoder();
```
2. 接下来,准备需要编码的文本,将其转换为字节数组:
```
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
```
3. 进行编码,将字节数组转换为Base64字符串:
```
final String encodedText = encoder.encodeToString(textByte);
System.out.println(encodedText);
```
4. 进行解码,将Base64字符串转换为字节数组,并重新转换为文本:
```
System.out.println(new String(decoder.decode(encodedText), "UTF-8"));
```
关于Base64的编码和解码,还有其他方式可以实现。在早期的Java版本中,可以使用sun.misc套件下的BASE64Encoder和BASE64Decoder类。这种方式的缺点是效率较低。示例代码如下:
```
final BASE64Encoder encoder = new BASE64Encoder();
final BASE64Decoder decoder = new BASE64Decoder();
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
//编码
final String encodedText = encoder.encode(textByte);
System.out.println(encodedText);
//解码
System.out.println(new String(decoder.decodeBuffer(encodedText), "UTF-8"));
```
另外,还可以使用org.apache.commons.codec.binary.Base64包下的Base64类进行编码和解码。这种方式相比sun包更加精简,并且执行效率更高。示例代码如下:
```
final Base64 base64 = new Base64();
final String text = "字串文字";
final byte[] textByte = text.getBytes("UTF-8");
//编码
final String encodedText = base64.encodeToString(textByte);
System.out.println(encodedText);
//解码
System.out.println(new String(base64.decode(encodedText), "UTF-8"));
```
总而言之,Java中有多种方式可以进行Base64编码和解码,包括java.util包下的Base64类、sun.misc包下的BASE64Encoder和BASE64Decoder类以及org.apache.commons.codec.binary.Base64包下的Base64类。
java BASE64 编码
Java中可以使用Base64类进行Base64编码和解码。
要进行Base64编码,可以使用Base64类的静态方法encodeToString()。示例代码如下:
```java
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String originalString = "Hello, World!";
String encodedString = Base64.getEncoder().encodeToString(originalString.getBytes());
System.out.println("Encoded string: " + encodedString);
}
}
```
输出结果:
```
Encoded string: SGVsbG8sIFdvcmxkIQ==
```
要进行Base64解码,可以使用Base64类的静态方法decode()。示例代码如下:
```java
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String encodedString = "SGVsbG8sIFdvcmxkIQ==";
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println("Decoded string: " + decodedString);
}
}
```
输出结果:
```
Decoded string: Hello, World!
```
以上是Java 8及以上版本中使用的Base64类,如果你使用的是Java 7或更早版本,可以使用sun.misc.BASE64Encoder和sun.misc.BASE64Decoder类进行Base64编码和解码。但是在Java 9中,这些类被标记为不推荐使用,因此建议在Java 9及以上版本中使用java.util.Base64类。
阅读全文