在做程序时必须意识到的是数据形式。
比如图像名的最后有“.png”等扩展名。
这表示数据的形式。
程序处理各种形式的数据。
在处理这些数据的时候,也会出现想要转换成其他数据形式的情况。
这次,我将通过以下内容谈谈哪种情况下使用的base64。
什么是base64
base64是一种更改为字母数字字符(64种类型)的数据格式的方法。
您可以使用base64更改数据格式将其转换回来。
什么是encode(编码)
encode 是改变数据的格式。
有时也称为编码。
您还可以恢复已编码一次的数据。
什么是decode(解码)
通过encode(编码)改变数据的形式之后,还原数据使用decode(解码)。
encode和decode经常被成对使用。
对文本encode(编码)/decode(解码)
现在让我们实际编码和解码。
在PHP中使用base64方法编码时使用base64_encode。
<?php $text = 'ciyawang'; echo base64_encode($text); ?>
执行结果
Y2l5YXdhbmc=
输出结果与分配给变量的数据完全不同。
对于解码使用名为 base64_decode 的函数。
<? php $text = 'Y2l5YXdhbmc=' ; echo base64_decode ( $text ); ?>
执行结果
ciyawang
返回原始文本数据。
这次我们转换的是文本数据,但是其他数据也可以转换。
对图像encode(编码)/decode(解码)
上面的示例中我们转换了文本数据。
但是如果你要转换的数据不是文本数据怎么办?
请参阅下面的代码。
<?php $img = base64_encode(file_get_contents('test.jpg')); ?> <img src="data:image/jpg;base64,<?php echo $img; ?>">
在第1行中,encode(编码)test.jpg图片。
然后在第2行编写img标签让其显示。
在浏览器中运行,可以看到图片已经显示在页面上了。
结语
今天我们了解了如何在PHP中使用base64方法进行编码/解码。