Java 实现 Php 的 base64 编码解码

Php

<?php
$str = "base64编码解码";

//Base64编码
$data = base64_encode($str);
echo "编码:".$data."\n";

//Base64解码
$bytes = base64_decode($data);
echo "解码:".$bytes."\n";

?>

运行结果:

编码:YmFzZTY057yW56CB6Kej56CB
解码:base64编码解码

Java

使用JDK8及更高版本中的 java.util.Base64

在Java 8中,Base64编码已经成为Java类库的标准。
Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:
基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/。
URL:输出映射到一组字符A-Za-z0-9+_,输出是URL和文件。
MIME:输出隐射到MIME友好格式。输出每行不超过76字符,并且使用’\r’并跟随’\n’作为分割。编码输出最后没有行分割。

import java.util.Base64;

public class Base64JDK8 {
    public static void main(String[] args) {

        String str = "base64编码解码";

        //Base64编码
        Base64.Encoder encoder = Base64.getEncoder();
        byte[] data = encoder.encode(str.getBytes());
        System.out.println("编码:" + new String(data));
        //或者采用以下方法,但是不赞成使用该方法,源码也做了@deprecation标记
        System.out.println("编码:" + encoder.encodeToString(str.getBytes()));

        //Base64解码
        Base64.Decoder decoder = Base64.getDecoder();
        byte[] bytes = decoder.decode(data);
        System.out.println("解码:" + new String(bytes));
    }
}

运行结果:

编码:YmFzZTY057yW56CB6Kej56CB
编码:YmFzZTY057yW56CB6Kej56CB
解码:base64编码解码

posted @ 2021-12-08 10:11  我是Aurora  阅读(554)  评论(0)    收藏  举报