Base64 编解码

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

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);
    }

}

测试结论apache

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

相关文章
相关标签/搜索