php – 数据图像库64

参见英文答案 > Should I embed images as data/base64 in CSS or HTML7个
有人可以解释这是如何工作的?
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACDUlEQVR4Xu2Yz6/BQBDHpxoEcfTjVBVx4yjEv+/EQdwa14pTE04OBO+92WSavqoXOuFp+u1JY3d29rvfmQ9r7Xa7L8rxY0EAOAAlgB6Q4x5IaIKgACgACoACoECOFQAGgUFgEBgEBnMMAfwZAgaBQWAQGAQGgcEcK6DG4Pl8ptlsRpfLxcjYarVoOBz+knSz2dB6vU78Lkn7V8S8d8YqAa7XK83ncyoUCjQej2m5XNIPVmkwGFC73TZrypjD4fCQAK+I+ZfBVQLwZlerFXU6Her1eonreJ5HQRAQn2qj0TDukHm1Ws0Ix2O2260RrlQqpYqZtopVAoi1y+UyHY9Hk0O32w3FkI06jkO+74cC8Dh2y36/p8lkQovFgqrVqhFDEzONCCoB5OSk7qMl0Gw2w/Lo9/vmVMUBnGi0zi3Loul0SpVKJXRDmphvF0BOS049+n46nW5sHRVAXMAuiTZObcxnRVA5IN4DJHnXdU3dc+OLP/V63Vhd5haLRVM+0jg1MZ/dPI9XCZDUsbmuxc6SkGxKHCDzGJ2j0cj0A/7Mwti2fUOWR2Km2bxagHgt83sUgfcEkN4RLx0phfjvgEdi/psAaRf+lHmqEviUTWjygAC4EcKNEG6EcCOk6aJZnwsKgAKgACgACmS9k2vyBwVAAVAAFAAFNF0063NBAVAAFAAFQIGsd3JN/qBA3inwDTUHcp+19ttaAAAAAElFTkSuQmCC

这如何生成图像以及如何创建图像?我在html中发现了很多次.

跟进问题

在加载时间和http请求方面,作为src的url有何不同?
这会加快加载时间吗?如果我要使用50幅图像,它会如何扩展?

也.

如果这更好

上传,将图像转换为base64并将其保存在数据库而不是网址会使网站更好?

你可以像这样使用它:
<img alt="Embedded Image" src="data:image/png;base64,{base64 encoding}" />

它用于生成新图像,或以纯文本形式存储图像.您可以在维基百科上阅读有关base64编码的更多信息:
http://nl.wikipedia.org/wiki/Base64

它是如何工作的?

>角色转换为binair
>他们采取一组6位
>这些组将转换为十进制
>对于每个小数,它们取位于base64字符表中位置n 1的数字,数字在0到63之间变化.

它并不总是正确的,因为位数必须是6的倍数.如果是这种情况,根据所需的附加位数,将在末尾放置2或4个零.如果是这样,最后会添加一个=.

Base64字符表

ABCDEFGHIJKLMnopQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

不同的语言和用法

PHP

<?PHP
base64_encode($source);
// Or decode:
base64_decode($source);

Python

>>> import base64
>>> encoded = base64.b64encode('data to be encoded')
>>> encoded
'ZGF0YSB0byBiZSBlbmNvZGVk'
>>> data = base64.b64decode(encoded)
>>> data
'data to be encoded'

目标C.

// Encoding

NSData *plainData = [plainString dataUsingEncoding:NSUTF8StringEncoding];
Nsstring *base64String = [plainData base64EncodedStringWithOptions:0];
NSLog(@"%@",base64String); // Zm9v

// Decoding

NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
Nsstring *decodedString = [[Nsstring alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
NSLog(@"%@",decodedString); // foo

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...