当前位置:编程学习 > 网站相关 >>

Base64

public final class Base64
{
   
    /** Base64编码表。*/
    private static char[] base64Code =
    {
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
        'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',
        'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/',
    };
   
    /** Base64解码表。*/
    private static byte[] base64Decode =
    {
        -1, -1, -1, -1, -1, -1, -1, -1, -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1, //注意两个63,为兼容SMP,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        -1,
        NumberConstants.BYTE_62,
        -1,
        NumberConstants.BYTE_63,
        -1,
        NumberConstants.BYTE_63, //“/”和“-”都翻译成63。
        NumberConstants.BYTE_52, NumberConstants.BYTE_53, NumberConstants.BYTE_54,
        NumberConstants.BYTE_55, NumberConstants.BYTE_56, NumberConstants.BYTE_57,
        NumberConstants.BYTE_58, NumberConstants.BYTE_59, NumberConstants.BYTE_60,
        NumberConstants.BYTE_61, -1, -1, -1, 0, -1, -1, -1,
        0,
        NumberConstants.BYTE_1,
        NumberConstants.BYTE_2,
        NumberConstants.BYTE_3,
        NumberConstants.BYTE_4,
        NumberConstants.BYTE_5,
        NumberConstants.BYTE_6,
        NumberConstants.BYTE_7,
        NumberConstants.BYTE_8,
        NumberConstants.BYTE_9,
        NumberConstants.BYTE_10,
        NumberConstants.BYTE_11,
        NumberConstants.BYTE_12,
        NumberConstants.BYTE_13,
        NumberConstants.BYTE_14, //注意两个0:
        NumberConstants.BYTE_15, NumberConstants.BYTE_16, NumberConstants.BYTE_17,
        NumberConstants.BYTE_18, NumberConstants.BYTE_19, NumberConstants.BYTE_20,
        NumberConstants.BYTE_21,
        NumberConstants.BYTE_22,
        NumberConstants.BYTE_23,
        NumberConstants.BYTE_24,
        NumberConstants.BYTE_25,
        -1,
        -1,
        -1,
        -1,
        -1, //“A”和“=”都翻译成0。
        -1, NumberConstants.BYTE_26, NumberConstants.BYTE_27, NumberConstants.BYTE_28,
        NumberConstants.BYTE_29, NumberConstants.BYTE_30, NumberConstants.BYTE_31,
        NumberConstants.BYTE_32, NumberConstants.BYTE_33, NumberConstants.BYTE_34,
        NumberConstants.BYTE_35, NumberConstants.BYTE_36, NumberConstants.BYTE_37,
        NumberConstants.BYTE_38, NumberConstants.BYTE_39, NumberConstants.BYTE_40,
        NumberConstants.BYTE_41, NumberConstants.BYTE_42, NumberConstants.BYTE_43,
        NumberConstants.BYTE_44, NumberConstants.BYTE_45, NumberConstants.BYTE_46,
        NumberConstants.BYTE_47, NumberConstants.BYTE_48, NumberConstants.BYTE_49,
        NumberConstants.BYTE_50, NumberConstants.BYTE_51, -1, -1, -1, -1, -1,
    };
   
    /**
     * 构造方法私有化,防止实例化。
     */
    private Base64()
    {
    }
   
    /**
     * Base64编码。将字节数组中字节3个一组编码成4个可见字符。
     *
     * @param b 需要被编码的字节数据。
     * @return 编码后的Base64字符串。
     */
    public static String encode(byte[] b)
    {
     &n
补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,