美文网首页
base64编码

base64编码

作者: 一双鱼jn | 来源:发表于2017-11-30 10:32 被阅读17次

为什么叫base64

因为它是基于64个字符进行的编码
A-Z -- 0 - 25
a-z -- 26 - 51
0-9 -- 52 - 61
+ -- 62
/ -- 63

26 + 26 + 10 + 1 + 1 = 64

为什么需要base64

简单说是因为一些特殊字符无法传输,而通过base64编码之后就都是普通字符

如何进行base64编码

首先我们要知道
一个字节等于8个二进制位
1Byte = 8bit

base64以3个字节也就是24个二进制位为一组,到时候解析也是以3个字节去解析

base64是以6个二进制位为一个单元进行解析,而字符是以8个二进制位为一个单元

6和8的最小公倍数是24,所以base64编码以24个二进制位为一组。这样,保证每一组base64编码能对应3个字节。

下面来看如何进行编码 对 abc 进行编码

  1. abc
  2. abc转换为ASCII码 得到
    a - 97
    b - 98
    c - 99
  3. 将97、98、99转换为8位二进制 得到
    97 - 01100001
    98 - 01100010
    99 - 01100011
  4. 所以这个abc的二进制表示就是011000010110001001100011
  5. 然后每6位为一个单元取
    011000
    010110
    001001
    100011
  6. 转换为10进制 得到
    24
    22
    9
    35
  7. 根据base64的编码表得到
    Y
    W
    J
    j

所以最终abc的base64编码就是 YWJj


那么对于不足24个二进制位的如何处理

比如 ab

转换之后得到的二进制是 0110000101100010

按base64分组之后是 011000 010110 0010

第三组不足6位,通过补0 凑齐6位,结果如下

011000 010110 001000

按base64编码表得到 YWI

此时不足一组,通过=补齐一组

所以最终结果是 YWI=

中文的base64编码

中文需要看按哪种编码来进行转换 然后再进行base64编码

相关文章

  • 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不会对斜杠进行编码。...

  • Base系列加密解密

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

  • java android 对接接口加密

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

  • Base64

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

  • base64编码解码原理散图

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

  • 加密编码总结

    url编码 base64编码 工作中碰到url与base64配合加解密的问题,base64编码后的字符串中可能含有...

  • URL编码表 | Base64编码表

    URL编码表: Base64编码表:

网友评论

      本文标题:base64编码

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