Java中的基本类型Base64编码和解码
Base 64是一种将二进制数据转换为文本格式的编码方案,以便编码的文本数据可以轻松地通过网络传输而不会损坏且不会丢失任何数据。(Base 64 格式参考)。
基本编码意味着没有向输出添加换行符,并且输出被映射到 A-Za-z0-9+/字符集中的一组字符,并且解码器拒绝该集合之外的任何字符。
将简单字符串编码为基本 Base 64 格式
String BasicBase64format= Base64.getEncoder().encodeToString(“actualString”.getBytes());
说明:在上面的代码中,我们使用 getEncoder() 调用 Base64.Encoder,然后通过 encodeToString() 方法中的实际字符串的字节值作为参数传递来获取编码字符串。
将基本 Base 64 格式解码为字符串
byte[] actualByte= Base64.getDecoder().decode(encodedString);
String actualString= new String(actualByte);
说明:在上面的代码中,我们使用 getDecoder() 调用 Base64.Decoder ,然后将 decode() 方法中传递的字符串作为参数解码,然后将返回值转换为字符串。
下面的程序说明了Java中的编码和解码:
程序 1:将简单字符串编码为基本 Base 64 格式
Java
// Java program to demonstrate
// Encoding simple String into Basic Base 64 format
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create a sample String to encode
String sample = "India Team will win the Cup";
// print actual String
System.out.println("Sample String:\n"
+ sample);
// Encode into Base64 format
String BasicBase64format
= Base64.getEncoder()
.encodeToString(sample.getBytes());
// print encoded String
System.out.println("Encoded String:\n"
+ BasicBase64format);
}
}
Java
// Java program to demonstrate
// Decoding Basic Base 64 format to String
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an encoded String to decode
String encoded
= "SW5kaWEgVGVhbSB3aWxsIHdpbiB0aGUgQ3Vw";
// print encoded String
System.out.println("Encoded String:\n"
+ encoded);
// decode into String from encoded format
byte[] actualByte = Base64.getDecoder()
.decode(encoded);
String actualString = new String(actualByte);
// print actual String
System.out.println("actual String:\n"
+ actualString);
}
}
Sample String:
India Team will win the Cup
Encoded String:
SW5kaWEgVGVhbSB3aWxsIHdpbiB0aGUgQ3Vw
程序 2:将基本 Base 64 格式解码为字符串
Java
// Java program to demonstrate
// Decoding Basic Base 64 format to String
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an encoded String to decode
String encoded
= "SW5kaWEgVGVhbSB3aWxsIHdpbiB0aGUgQ3Vw";
// print encoded String
System.out.println("Encoded String:\n"
+ encoded);
// decode into String from encoded format
byte[] actualByte = Base64.getDecoder()
.decode(encoded);
String actualString = new String(actualByte);
// print actual String
System.out.println("actual String:\n"
+ actualString);
}
}
Encoded String:
SW5kaWEgVGVhbSB3aWxsIHdpbiB0aGUgQ3Vw
actual String:
India Team will win the Cup
参考:
- https://docs.oracle.com/javase/10/docs/api/java Java()
- https://docs.oracle.com/javase/9/docs/api/ Java/util/Base64.html#getDecoder–
- https://www.geeksforgeeks.org/decode-encoded-base-64-string-ascii-string/
- https://www.geeksforgeeks.org/encode-ascii-string-base-64-format/