什么是Base64算法

 我来答
新科技17
2022-07-07 · TA获得超过5904个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:74.9万
展开全部
1、为什么要做Base64编码呢
(1)在计算机中任何数据都是按ASCII码存储的,而ASCII码的128~255之间的值是不可见字符。而在网络上交换数据时,比如说从A地传到B地,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这是不利于传输的。所以就先把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了。
(2)Base64 不是加密算法,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送,需要转换一下。【ASCII码的范围是0-127,其中0-31和127这33个字符属于控制字符。剩下32-126这95个字符属于可打印字符,包含数字、大小写字母、常用符号。】

2、Base64到底是怎样编码的呢?
简单来说,任何一个数据无非可以看作一个比特流,如01000100010011101100111010111100011001010......那么取6个比特为一组,计算它的ASCII码值,得到一个字符,这个字符肯定是可见字符,然后把它对应的字符写出来,再取6个比特,计算...,如此下去,直到最后,就完成了编码。

3、Base64的字符表
(1)标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;
(2)base64是把3个字节变成4个可打印字符,所以base64编码后的字符串一定能被4整除(不算用作后缀的等号);
(3)等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被3整除,base64要在后面添加\0凑齐3n位。为了正确还原,添加了几个\0就加上几个等号。显然添加等号的数目只能是0、1或2;
(4)严格来说base64不能算是一种加密,只能说是编码转换。使用base64的初衷。是为了方便把含有不可见字符串的信息用可见字符串表示出来,以便复制粘贴;

参考文章: https://blog.csdn.net/ios_xumin/article/details/79609029
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-06-12 广告
ST公司(STMicroelectronics)是一家意大利半导体公司,成立于1987年。它最初是由SGS微电子公司和Thomson半导体公司合并而成的。在1998年,ST公司将其名称改为现在的意法半导体有限公司。STM32是ST公司生产的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式