美文网首页
二进制数据的字符串表达---base64

二进制数据的字符串表达---base64

作者: 小凡凡520 | 来源:发表于2019-02-13 11:36 被阅读1次
一、原理

Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法。

二、字符组成

在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中一般有所不同。但是,我们经常所说的Base64另外2个字符是:“+/”。这64个字符,所对应表如下:


20160911232045203.png
三、Base64编码说明

转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。数据不足3byte的话,于缓冲区中剩下的bit用0补足。然后,每次取出6个bit,按照其值选择ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/中的字符作为编码后的输出。不断进行,直到全部输入数据转换完成。所以加密后的数据量是原来的4/3

Base64编码要求把3个8位字节(3 * 8=24)转化为4个6位的字节(4 * 6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。

四、具体转换过程

"陈" base64后为 "6ZmI"

1."陈"转换为utf-8的二进制表达为 11101001 10011001 10001000
2.每隔6字节进行截取,末尾不足6字节时补0
3.截取后为 111010 011001 100110 001000
4.参照Base64编码表, 对应的base64编码分别为 6 Z m I,所以最终结果为 6ZmI

"A" base64后为 "QQ=="

1."A"转换为utf-8的二进制表达为 01000001
2.每隔6字节进行截取,末尾不足6字节时补0
3.截取后为 010000 010000
4.参照Base64编码表, 对应的base64编码分别为 Q Q = =,所以最终结果为 QQ==
20160911234157892.png 20160911234205557.png

相关文章

  • base64图片编码

    base64简介 base64是一种编码形式,通常用于把二进制数据编码成可写的字符串形式的数据。这是一种可逆的编码...

  • 常用编码简介

    目录 引入 ASCII UTF-8 Base64 URL Encode 引入 计算机表达数据的方式 二进制 最小单...

  • IOS密码学分论-base64

    什么是base64? base64是一种用64个字符串来表示任意二进制数据的方法。这是一种可逆的编码方式 base...

  • 2019-07-28

    Base64编码:二进制数据到文本数据的映射,方便在文本环境中存储二进制数据,base64不要用作加密,不安全 M...

  • nodejs基础

    Buffer: 处理二进制数据 二进制数据的获取 文件数据 网络数据 二进制数据的可读性:base64 Base6...

  • Python常用模块之base64模块

    base64模块主要用于base64编码与base64解码。Base64是一种任意二进制到字符串的编码方法,常用于...

  • 二进制数据的字符串表达---base64

    一、原理 Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的...

  • iOS Java关于Base64编码

    最近联调后端和客户端中对二进制图片数据进行Base64编码传输base64字符串,发现编码传输过程中,两边的编码解...

  • 项目中接口传输的参数加密

    一,数据加密方式 BASE64:编码方式(8位字节代码),二进制与字符串相互转换 MD5:Message Algo...

  • Base64 编码和 MD5

    "Base64编码":描述:Base64是密码学的基石。 特点:可以将任意的二进制数据进行Base64编码。 结果...

网友评论

      本文标题:二进制数据的字符串表达---base64

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