[编码] Base64基础知识

文章目录

  • Base64编码解码原理
  • 参考

Base64编码解码原理

首先有一个64个字符的转换表。
待转转换的数据,3个字节位一组,3个字节24位,刚好可以分成4个6位的对象,
每个6位对象前补2个0,就变成了4个字节。这就可以对应转换表中的字符了。这就是转换后的字符。
也就是原本3个字节,转换后变成了4个字节的ANSII字符。
如果待转换数据字节数不是3的倍数,比如是4个字节,前3字节按照上面规则转换,后1个字节,可以右侧补4个0,形成12位,转成2个6位对象,生成两个转换后字节,
这样的情况,要在转换后的字符串后追加2个‘=’。
比如是5个字节,前3字节按照上面规则转换,后2个字节,可以右侧补2个0,形成18位,转成3个6位对象,生成两个转换后字节,
这样的情况,要在转换后的字符串后追加1个‘=’。(补2个0,追加1个‘=’;补4个0,追加2个‘=’;)

参考

C++ Boost库实现 Base64编解码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/727331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python编程作业五:面向对象编程

目录 一、类的定义和方法 二、图书管理系统 一、类的定义和方法 定义一个学生类(Student),包括学号(id)、姓名(name)、出生日期(birthday)和分数(score)4个属性,其中出生日期是私有属性,不能被外界直接访问。该类应具…

力扣每日一题 找出字符串的可整除数组 数论

Problem: 2575. 找出字符串的可整除数组 文章目录 思路复杂度Code 思路 👨‍🏫 灵神题解 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {public int[] divisibilityArray(String word, int m){in…

销冠MPV增配不增价,2024款腾势D9正式上市

3月6日,2024款腾势D9正式上市,官方指导价33.98万元起。销冠MPV增配不增价,并推出2000元定金抵扣车辆尾款10000元等上市权益。针对老用户也推出了30000元置换补贴等感恩回馈。 作为腾势汽车破局豪华MPV全品类冠军的扛鼎之作,腾势D9…

【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit

1.问题描述 在App中供用户在地图上选择地址,目前在使用Map Kit结合geolocationManager逆地理编码时获取的地址信息描述不准确,希望能提供相应的Demo参考。 解决方案 Demo代码示例: getLocation() { let requestInfo: geoLocationManager.…

异地组网搭建方案

在这个信息爆炸的时代,人与人之间的联系变得越来越密切,而异地组网搭建方案也因此变得越 来越重要。无论是跨国企业、远程学习还是国际合作,构建一个快捷稳定的异地组网系统,已经 成为许多组织和个人不可或缺的需求。接下来&#…

换个角度看禅让制止于禹

前言 在历史课本上,对尧、舜、禹三代君王的描述是,他们在去世之前通过禅让制的方式把自己的王位禅让给了其他有贤明的能臣。 禅让制也是中国古代时期被无数的文人志士追捧的一个制度,因为他们觉得那个时代是公天下的时代。 可实际上自从人…

selenium中ChromeDriver配置,一把过,并且教你伪装

最近正值毕业季,我之前不是写了个问卷星代码嘛,昨晚上有人凌晨1点加我,问我相关内容。 由于我之前C盘重装了一下,导致我很多东西空有其表,实际不能用,借此机会,向大家编写ChromeDriver配置&…

libftdi库编译

目录 1. 下载源码 2. Ubuntu下编译 2.1 配置编译环境 2.2 编译 3. Android NDK下编译 3.1 编译libconfuse 3.2 编译libusb 3.3 编译libudev 3.3 编译libftdi 分2部分,先在Ubuntu中编译,然后在Android NDK中编译。 1. 下载源码 下载地址&#…

扩展学习|系统理解数字经济

文献来源:[1]肖静华,胡杨颂,吴瑶.成长品:数据驱动的企业与用户互动创新案例研究[J].管理世界,2020,36(03):183-205.DOI:10.19744/j.cnki.11-1235/f.2020.0041. [2]陈晓红,李杨扬,宋丽洁等.数字经济理论体系与研究展望[J].管理世界,2022,38(02):208-22413…

2024回归路径规划学习之路

A星算法详解(个人认为最详细,最通俗易懂的一个版本)-CSDN博客

链表习题-力扣oj (附加思路版)

LCR 140. 训练计划 IIhttps://leetcode.cn/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 给定一个头节点为 head 的链表用于记录一系列核心肌群训练项目编号,请查找并返回倒数第 cnt 个训练项目编号。 思路:双指针,快指针先走cnt…

策略梯度网络

策略梯度网络是强化学习中的一类算法,它们直接学习一个策略,该策略可以映射从环境状态到采取的动作。与值函数方法(如Q学习和深度Q网络)不同,策略梯度方法通过优化策略本身来实现目标,即直接调整其输出动作的概率,以最大化累积奖励。这类方法的核心优势在于它们能够自然…

007-常见HTTP状态码

常见HTTP状态码 常见状态码说明常见状态码 常见状态码说明 状态码说明1xx(informational)信息性状态码,表示正在处理2xx(success)成功状态码,表示请求正常3xx(redirection)重定向状…

WinDbg无符号调试DriverEntry中断

无符号文件的驱动中断DriverEntry方法 当我们调试有符号的windows驱动时,通常可以使用bu module!DriverEntry, 在模块的DriverEntry位置打上断点。 那么对于无符号驱动,应该如何找到DriverEntry函数的位置呢? 从正常的DriverEntry的调用栈…

OceanBase社区版手动部署单副本集群及OBProxy

OceanBase社区版手动部署单副本集群及OBProxy 文章目录 OceanBase社区版手动部署单副本集群及OBProxy一、环境准备二、部署observer三、集群初始化四、部署obproxy五、创建租户、数据库、表六、避坑指导七、参考链接 一、环境准备 oceanbase社区版部署单副本集群,要…

Java项目:40 springboot月度员工绩效考核管理系统009

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本系统的功能分为管理员和员工两个角色 管理员的功能有: (1)个人中心管理功能,添加管理员账号…

多线程相关面试题(2024大厂高频面试题系列)

1、聊一下并行和并发有什么区别? 并发是同一时间应对多件事情的能力,多个线程轮流使用一个或多个CPU 并行是同一时间动手做多件事情的能力,4核CPU同时执行4个线程 2、说一下线程和进程的区别? 进程是正在运行程序的实例&#xff…

Java 重写和重载

重写 重写一定是在父子类之间,不可能在一个类中。 要求: 1、方法名一致 2、方法名称一致,参数类型列表一致,返回结果类型一致 3、子类方法的范围限定词需要大于等于父类的范围 4、子类方法不能比父类方法抛出更多的异常 重载…

XSS靶场-初级关卡

一、环境 XSS靶场 二、闯关 1、第一关 先看源码 使用DOM型&#xff0c;获取h2标签&#xff0c;使用innerHTML将内容插入到h2中 我们直接插入<script>标签试一下 明显插入到h2标签中了&#xff0c;为什么不显示呢&#xff1f;看一下官方文档 尽管插入进去了&#xff0…

【学习资源】对比说明三个通过作者查找文献数据库(一)

最近博主在阅读相关文献的时候&#xff0c;想针对一些作者的科研文献做一个详细的了解&#xff0c;于是涉及到“如何已知作者与其所在单位&#xff0c;查找其研究成果”的问题&#xff0c;博主尝试了在Google Scholar、Web of Science、CRS核心论文库这三个地方通过作者查找文献…