一文轻松明白 Base64 编码原理

article/2025/9/13 6:20:01

把图片丢进浏览器,打开sources能看到一长串字符串,这是图片的Base64编码。这一长串编码到底是怎么生成的呢?
在这里插入图片描述
我们接下来探索一下base64编码的原理

Base64 名称的由来

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

为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。(下面是Base64编码表)
在这里插入图片描述

思路

原始数据对应ASCII,生成8位的二进制,3个8位的字节(38=24)转化为4个6位的字节(46=24),不够补零。分割之后,得出来6位字节的二进制转化成十进制,再从base64表中寻找对应的字符

实现过程

原始数据:Mz1

根据ASCII表转换成8位二进制:01001101 | 01111010 | 00110001

将 38 切割成 46:010011 | 010111 | 101000 | 110001

分别转化成十进制:19 | 23 | 40 | 49

最后再去Base64编码表中找到数字对应的字符:T | X | o | x

最终 Mz1 的 Base64 :TXox

强化训练
Q:写出TB对应的Base64编码

1.TB1 对应的ASCII

T:01010100 B:01000010 1:00110001

2.将三个8位的二进制分割成4个6位的二进制

010101 000100 001000 110001

3.将二进制转换成十进制

21   4   8   49

4.将十进制按照Base64表得到Base64编码

V   E  J  x

A:TB1所对应的Base64编码为 VEJx

用Base64的来呈现图片的有什么优势呢?

1)减少http网络请求:网页上的图片资源如果采用http形式的url的话都会额外发送一次请求,网页发送的http请求次数越多,会造成页面加载速度越慢。而采用Base64格式的编码,将图片转化为字符串后,图片文件会随着html元素一并加载,这样就可以减少http请求的次数,对于网页优化是一种比较好的手段。
2)不会造成跨域请求的问题。
3)没有图片更新要重新上传,不会造成清理图片缓存的问题

不足之处

就在于增加了CSS文件的尺寸,造成数据库数据量的增大


http://chatgpt.dhexx.cn/article/UISIbeVv.shtml

相关文章

base64编码原理及代码实现

在ctf里reverse经常会有base64相关的题型,每次写到这类题型只能凭经验猜测考点来解题,特此出一个base64相关的博客,加深对base64的理解,下次再看到伪代码也不会觉得慌了,毕竟纵使实现形式不同,代码的核心逻…

Base64编码的原理与常用实现

这篇主要是为了后面好介绍加密算法,做的铺垫。 这个是基础,什么是一个程序员的涵养,这些基础就是涵养。 平时可能用不到,但必须得会。 如果连这个原理都说不上来,就别玩王者荣耀绝地求生英雄联盟和平精英了&#xff0c…

Base64原理及魔改更换码表

一,Base64是什么(原理比较难理解,可参考下面的实践 ) Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特…

base64加密原理解析

开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了。实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该。大概介绍一下Base64的相关内容,花几分钟时间就可以彻底理解它。文 章下边贴了一个Base64的编…

Base64加密原理

Base64加密方式是将三个八位的字节转化为四个六位的字节(不足八位的高位补00),3*8 4*6;,所以base64加密过后的内容比原来的大三分之一; 举例:加密“ace”, ace转化为二进制为&…

Base64编码原理分析

文章目录 一、认识(一)认识(二)计算(1)规则(2)示例(3)Base64编码转换表 二、网页图片转base64编码分析(一)Data URI(二&am…

base64编码,原理是什么,有什么作用?

base64到底是什么东西呢? Base64编码是网络上常见的用于传输8bit字节数据的一种编码方式之一 , 有些人和书本会将编码写成加密算法,这其实是欠妥的。因为任何人拿到编码后的数据都能转化成原始数据,算法是透明的,也不存在秘钥的概…

一篇文章彻底掌握Base64编码原理

一篇文章彻底掌握Base64编码原理 在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理又了解多少?今天这篇博文带领大家了解一下Base64的底层实现。 Base64的由来 目前Base64已经成为网络上常见的传输8Bit字节代…

Base64编码解码原理详解

Base64编码解码原理详解 1. Base64字符的组成部分 Base64所用字符: 0,1,2 ….9 A,B,C,D…Z a,b,c,d…z / 对应ASCII: 48,49…58,65,66…90,97,98…122, 43,47 2. 10个数字,26个大写字母,26个小写字母,1个&#xff0c…

彻底弄懂base64的编码与解码原理

作者介绍 背景 base64的编码原理网上讲解较多,但解码原理讲解较少,并且没有对其中的内部实现原理进行剖析。想要彻底了解base64的编码与解码原理,请耐心看完此文,你一定会有所收获。 涉及算法与逻辑运算概念 在探究base64编码原理…

深入理解 Base64 底层原理

Base64 是一种常见数据编码方式,常用于数据传输。对于移动开发者来讲,网络请求中会经常使用到。对 JSON 熟悉的同学都知道,JSON 的序列化工具都不支持将 byte 数组直接放入 JSON 数据中,针对这种二进制数据,在处理的时…

Base64基本原理

1.什么是Base64 Base64是一种基于64个可打印字符来表示二进制数据的编码方式,是从二进制数据到字符的过程。 原则上,计算机中所有内容都是二进制形式存储的,所以所有内容(包括文本、影音、图片等)都可以用base64来表示…

一篇文章彻底弄懂Base64编码原理

在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理又了解多少?今天这篇博文带领大家了解一下Base64的底层实现。 Base64的由来 目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一。在做支付系统时&…

Base64编码原理

一、Base64是什么 base 64、base 32、base 16 编码建议标准 https://www.ietf.org/rfc/rfc4648.txt Base64是基于64种字符的编码算法,即将数据使用64种字符表示,编码后的Base64字符串长度 通常为原来的3-4倍。(补充:Base32就是…

Base64原理

前言 Base64是什么?它和加解密操作有什么关系吗?我们看一下下边这段字符串: aGVsbG8gd29ybGQ= 这就是经过Base64编码后的字符串,对它进行Base64解码,获得它原来的内容: hello world 这有点加密解密的意味,不过Base64并不能称为加密算法,仅仅是加密算法的近亲,可以称之…

Base64原理解析

一. Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就 不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可…

base64加密原理详解

Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中…

Base64基本原理及简单应用

1.什么是Base64 Base64是一种基于64个可打印字符来表示二进制数据的编码方式,是从二进制数据到字符的过程。原则上,计算机中所有内容都是二进制形式存储的,所以所有内容(包括文本、影音、图片等)都可以用base64来表示。 2.Base64编码原理 Base64编码之所以称为Base64,是因…

一文详解 Base64编码原理

最近在看Android的签名与验签机制,其中涉及到 MD5、SHA2、SHA256 等摘要算法,也涉及到 Base64 编码机制。这里先从简单的入手,记录一下 Base64 编码机制的原理。 一、Base64由来 Base64 是一种编码方式,最早出现在电子邮件传输协…

在Unity中导入fbx格式文件

unity中是以米为单位,要想让3dmax中建的模型导入到unity中与unity自带的3d object尺寸一致,最直接的办法是将3dmax中的系统单位也设成米。在三维软件里设置 在菜单->自定义->单位设置: 导出FBX文件前 ,我们需要注意如下问…