使用URL安全的Base64编码
在Base64编码中,一些特殊字符(如“+”、“/”)会被转义为其他字符,这可能会导致编码后的字符串在传输过程中出现错误。为了解决这个问题,可以使用URL安全的Base64编码。
URL安全的Base64编码将“+”替换为“-”,将“/”替换为“_”,这样就可以避免特殊字符的转义问题。
示例代码:
import org.apache.commons.codec.binary.Base64;
public class Base64Test { public static void main(String[] args) { String originalStr = "Hello World!"; byte[] originalBytes = originalStr.getBytes();
// 使用URL安全的Base64编码
byte[] encodedBytes = Base64.encodeBase64URLSafe(originalBytes);
// 将编码后的字节流转换为字符串
String encodedStr = new String(encodedBytes);
System.out.println("Encoded string: " + encodedStr);
// 对编码后的字符串进行解码
byte[] decodedBytes = Base64.decodeBase64(encodedBytes);
// 将解码后的字节流转换为字符串
String decodedStr = new String(decodedBytes);
System.out.println("Decoded string: " + decodedStr);
}
}
输出结果:
Encoded string: SGVsbG8gV29ybGQh Decoded string: Hello World!