zoukankan      html  css  js  c++  java
  • base64编码

    1、Base64的原理:

    实质上,base64就是一个64进制数字的表示方法。

    编码方法:    1个字节占8位,3个字节占32位,  把3个字节转化为4个字节,每个字节6位,一个6位的二进制最大值是64。所以,base64后的字符串是原始内容的8/6倍,也就是大33%

    然后用一张转码表对应各个字符,所以base64的可逆的。也就只能是一个编解码算法,不是加密算法。

    索引
    对应字符
    索引
    对应字符
    索引
    对应字符
    索引
    对应字符
    0
    A
    17
    R
    34
    i
    51
    z
    1
    B
    18
    S
    35
    j
    52
    0
    2
    C
    19
    T
    36
    k
    53
    1
    3
    D
    20
    U
    37
    l
    54
    2
    4
    E
    21
    V
    38
    m
    55
    3
    5
    F
    22
    W
    39
    n
    56
    4
    6
    G
    23
    X
    40
    o
    57
    5
    7
    H
    24
    Y
    41
    p
    58
    6
    8
    I
    25
    Z
    42
    q
    59
    7
    9
    J
    26
    a
    43
    r
    60
    8
    10
    K
    27
    b
    44
    s
    61
    9
    11
    L
    28
    c
    45
    t
    62
    +
    12
    M
    29
    d
    46
    u
    63
    /
    13
    N
    30
    e
    47
    v
       
    14
    O
    31
    f
    48
    w
       
    15
    P
    32
    g
    49
    x
       
    16
    Q
    33
    h
    50
    y
     

    对于最后的不足3个字节的剩余部分的处理为转码后不足的补=

    原文剩余的字节根据编码规则继续单独转(1变2,2变3;不够的位数用0补全),再用=号补满4个字节。这就是为什么有些Base64编码会以一个或两个等号结束的原因,但等号最多只有两个。因为:一个原字节至少会变成两个目标字节

    对于表中的+和/,UTL不支持,所以URL一般会用特殊的base64方法。

    参考:百度百科https://baike.baidu.com/item/base64/8545775?fr=aladdin

  • 相关阅读:
    SDOI2017 树点染色
    ZROI week1
    ZROI week3
    BZOJ 4545
    ZROI week2
    组合数问题
    JSOI2016 独特的树叶
    TJOI2015 组合数学
    Beginning Storyboards in iOS 5 Part 2
    孕妇不能吃的东东
  • 原文地址:https://www.cnblogs.com/aoyihuashao/p/8894135.html
Copyright © 2011-2022 走看看