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

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

先复制一个base64编码表:

码值 字符   码值 字符   码值 字符   码值 字符
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /
为了保证所输出的编码位可读字符,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_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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值