Base64 编解码

久未见 提交于 2020-02-29 10:20:56

测试Apache Base64和sun公司专有包BASE64Decoder、BASE64Encoder的编解码是否一致的代码:

import java.util.Arrays;

import org.apache.commons.codec.binary.Base64;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

/**
 * Base64 测试
 *
 * @author Kevin
 * @date 2016-04-27
 */
public class Base64Test {

    public static void main(String[] args) throws Exception {
        String base64DataStr = "+/whuang123FDKASLJFLDSA+/IJFIDSAFKLD";
        String apacheBase64Data = Base64.encodeBase64String(base64DataStr.getBytes("UTF-8"));
        String sunBase64Data = new BASE64Encoder().encode(base64DataStr.getBytes("UTF-8"));

        // 测试Apache Base64的编码和sun公司专有包BASE64Encoder的编码是否一致
        boolean isEqualsStr = apacheBase64Data.equals(sunBase64Data);
        // 结果为true
        System.out.println(isEqualsStr);

        byte[] apacheBase64Result = Base64.decodeBase64(apacheBase64Data);

		BASE64Decoder decoder = new BASE64Decoder();
        byte[] sunBase64DecoderResult = decoder.decodeBuffer(sunBase64Data);

        // 测试Apache Base64的解码和sun公司专有包BASE64Decoder的解码是否一致
        boolean isEquals = Arrays.equals(apacheBase64Result,sunBase64DecoderResult);
        // 结果为true
        System.out.println(isEquals);
    }

}

测试结论

Base64的编解码优先使用Apache Base64。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!