美文网首页
base64 编码原理

base64 编码原理

作者: MOIC_Qu | 来源:发表于2019-11-19 11:40 被阅读0次

近期接触AI图片识别,图片转码,从而接触到base64编码原理。为后续实现此编码原理,先学习了解~

base64编码

base64是一种编码方式。
选出64个符号作为基础字符集,将其他字符都转换成这个字符集的内容,包括A~Z a~z 0~9 + /共64个,但偶尔用'='补位,所以实际上是65个。

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

转换步骤

1 三个字节为一组,一个字节为8位2进制,共24个二进制位
2 将24个二进制位分为四组,每组6个二进制位
3 在每组的头部,补充00,变为4组8个二进制位
4 根据对应表格,拿到扩展后的字符

转换列子 Key

(新手画表 懂的大佬评论指导一哈吧)

原始字符 K e y
ASCII 75 101 121
二进制 0100 1011 0110 0101 0111 1001
分割 010010 110110 010101 111001
补位 00010010 00110110 00010101 00111001
转10进制 18 54 21 57
表对应 S 2 V 5

Linux语句获得字符ASCII码值

[root@localhost moic_a] echo K | tr -d "\n" | od -An -t dC
    75
Key

Linux命令转换base64 (Cg==是换行)

[root@localhost moic_a] echo "Key" | base64
S2V5Cg==

当为两个字节时,将16位二进制按6.6.4分开,前两组前加00,第三组前后加00,最后第四位用 '=' 补位

原始字符 K e
ASCII 75 101
二进制 0100 1011 0110 0101
分割 010010 110110 0101
补位 00010010 00110110 00010100
转10进制 18 54 20 =
表对应 S 2 U =
Ke
[root@localhost moic_a] echo "Ke" | base64
S2UK

当为一个字节时,将8位二进制按6.2分开,第一组前面加00,第二组前面加00,后面加0000

原始字符 K
ASCII 75
二进制 0100 1011
分割 010010 11
补位 00010010 00110000
转10进制 18 48 = =
表对应 S w = =
K
[root@localhost moic_a] echo "K" | base64
Swo=

Linux转换和在线转换结果不一致

因为base64编转码有不同的包可实现,包内部算法不同会造成转换结果不一致,所以在url加密时,尽量不要用base64。
base64 在线转换验证
阮一峰大佬博客base64文章链接

相关文章

  • base64编码解码原理散图

    base64编码出现原因: base64转码原理000.png base64编码原理: base64转码原理.pn...

  • BASE64 编码简析

    Base64编码: <1>·Base64编码简介: <2>·使用Base64的原因: <3>·编码原理: 成这个字...

  • Base64编码原理与应用

    Base64编码原理与应用

  • iOS开发之Base64编码与解码

    原理: 调用Base64编码与解码 //64编码 //64解码

  • 编码与加密

    一、阅读基础 1、基础 一、Base64编码与解码 2、原理 4、代码实现 Base64编码 Base64解码 二...

  • Base64

    Base64简介 Base64 原理解析 编码实现 Base64简介 命令行运行base64编码和解码 对文件操作...

  • base64 编码原理

    近期接触AI图片识别,图片转码,从而接触到base64编码原理。为后续实现此编码原理,先学习了解~ base64编...

  • 详解base64原理

    详解base64原理 案例: '鹅' --> 经过base64编码 --> 6bmF 那它怎么编码的呢? 以 '鹅...

  • iOS Base64编码原理

    Base64编码原理 Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有B...

  • iOS开发探索-Base64编码

    Base64编码原理 Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有B...

网友评论

      本文标题:base64 编码原理

      本文链接:https://www.haomeiwen.com/subject/vxhwictx.html