美文网首页
base 64编码

base 64编码

作者: ME_HK | 来源:发表于2018-01-08 15:30 被阅读18次

base 64简介

base64是一种用64个字符来表示任意二进制数据的方法。

base 64编码可以将任意一组字节转换为较长的常见文本字符序列,从而可以合法地作为首部字段值。base 64编码将用户输入或二进制数据,打包成一种安全格式,将其作为HTTP首部字段的值发送出去,而无须担心其中包含会破坏HTTP分析程序的冒号、换行符或二进制值。

官方文档地址:RFC3548

base 64编码过程

base 64编码将一个8位子节序列拆散为6位的片段,并为每个6位的片短分配一个字符,这个字符是base 64字母表中的64个字符之一。这64个字符中包括大小写字母、数字、+和/,同时还包括了特殊字符=。具体内容如下:

Value Encoding Value Encoding Value Encoding Value Encoding
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 (pad) = ---
15 P 32 g 49 x --- ---
16 Q 33 h 50 y --- ---

以“Hello!”为例,他的ASCII对应关系如下:

hello.jpg

{:width="50%"}

可知 Hello! 的Base64编码结果为 SGVsbG8h ,原始字符串长度为6个字符,编码后长度为8个字符,每3个原始字符经Base64编码成4个字符,编码前后长度比4/3,这个长度比很重要 - 比原始字符串长度短,则需要使用更大的编码字符集,这并不我们想要的;长度比越大,则需要传输越多的字符,传输时间越长。Base64应用广泛的原因是在字符集大小与长度比之间取得一个较好的平衡,适用于各种场景。

Base64编码是每3个原始字符编码成4个字符,如果原始字符串长度不能被3整除,需要使用0值来补充原始字符串:

fill.jpg

{:width="50%"}

标准Base64编码通常用 = 字符来替换最后的 A,即编码结果为 SGVsbG8hIQ==。因为 = 字符并不在Base64编码索引表中,其意义在于结束符号,在Base64解码时遇到 = 时即可知道一个Base64编码字符串结束。

相关文章

  • Base系列加密解密

    Base编码系列:[Base64][Base32] [Base16] [Base64] Base64编码是使用64...

  • iOS URL安全的Base64编码、解码

    参考iOS开发探索-Base64编码iOS URL编码&base64编码URL安全的Base64编码,解码 为什么...

  • BASE64 编码简析

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

  • SMTP整理

    账号:BASE64编码的账号 密码:BASE64编码的密码 快速BASE64编码网址: http://tools....

  • base64 和 url base64 和 encodeURIC

    1 先来看base64编码 2 再看url base64编码 可以看出,非url base64不会对斜杠进行编码。...

  • Base64

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

  • base64编码解码原理散图

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

  • java android 对接接口加密

    加密方式 方案1 使用Base64编码最常用的就是Base64编码了,Base64不算是加密,只是把字符经过编码变...

  • Base64编码

    Base64编码 Base64编码是一种基于64个字符的编码,按照RFC2045的定义,Base64被定义为:Ba...

  • iOS Base64编码原理

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

网友评论

      本文标题:base 64编码

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