其它基本扩展->URLs->base64加密

来源:互联网 发布:chaotice mac 编辑:程序博客网 时间:2024/06/05 03:14

其它基本扩展->URLs->base64加密,这篇找了点资料,来记录下base64:

先复制一个base64编码表:

码值字符 码值字符 码值字符 码值字符0A16Q32g48w1B17R33h49x2C18S34i50y3D19T35j51z4E20U36k5205F21V37l5316G22W38m5427H23X39n5538I24Y40o5649J25Z41p57510K26a42q58611L27b43r59712M28c44s60813N29d45t61914O30e46u62+15P31f47v63/为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。
Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。
64位可读的字符,52个英文+10个数字+'+'+'/',所以,我们完全都可以按照这个规则,重新定义64位的编码对照表,原理就是一一对应替换。

让我解释这些编码啥的,我只能大概理解了,但是要说出来,有点难,参照转载博客:

base64

从原理上搞定Base64编码

现在开始手册的base64_encode()函数:

base64_encode(string $data)

使用base64对数据进行编码。设计这种编码是为了使二进制数据可以通过非纯8-bit的传输层传输,例如:电子邮件的主题。

base64_encode(),当然可以用作简单的编码或加密,对付一些不懂技术的,他们看不懂。如果查看了上面,应该也知道了:用于加密是不现实的,那就主要是用于数据传输。常用于URL,cookie,网页中少量二进制数据传输。

想说base64的目的是:用于图片展示,接触了一些项目的新手,可能见过。

<img src="">

background-image:url()

这2个东西,不仅支持url,还支持一种 Data URL格式,图片就可利用data url,但需要base64_encode(),例如:

data:image/jpeg;base64,/9j/4QqsRX...

我算是个引路人,让比我更新的小白,知道这个东西的存在,然后自己去找资料,分享几个地址:

data类型的Url格式:把小数据直接嵌入到Url中

 

Data URL和图片

考虑到图片这种访问方式,不知道怎么就联想到了,目前前端的 "上传前先预览"。在几年前应该还是不行的,javascript不允许操作文件,所以获取不到,必须等到图片真实的上传到服务器上,才能展示,所以我知道的做法就是:嵌入iframe,然后图片上传表单提交给iframe,再显示预览图片。这种各种缺点。

技术小白,对于服务器各种头部信息也不懂,ajax的原理啊,具体传输的是什么东西也不懂,看有没有和base64这种编码有没有关系以及javascript提供的更底层的接口API,就上网查了查,参照这篇博客:

js实现图片上传预览原理

0 0