首页 > PHP教程 > php开发知识文章

php 实现base64编码与解码

本文主要介绍了php 实现base64编码与解码实例代码的知识文章,需要的朋友参考下

base64

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。

Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。

如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。

Base64编码,在末尾填充'='号,并将标准Base64中的“+”和“/”分别改成了“-”和“_”,免去了在URL编解码和数据库存储时所要作的转换,

避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式

 

自定义规则方式编码和解码

实例

function changIntToStr($value)
{
$intStr = '';
$str = "Y 9 L F k g y 5 R o v i x I 1 a O f 8 U h d s 3 r 4 D M p l Q Z J X P q e b E 0 W S j B n 7 w V z m N 2 G c 6 T H C A K u t";
$seq = explode(" ", $str);
$intvalue = $value;
while ($intvalue >= 62) {
$intStr = ($seq[$intvalue % 62]) . $intStr;
$intvalue = (int)($intvalue / 62);
}
$intStr = ($seq[$intvalue]) . $intStr;
echo($intStr);
$keySeq = array_flip($seq);
$length = strlen($intStr);
$value = 0;
for ($i = $length - 1; $i >= 0; $i--) {
$t = $keySeq[$intStr[$i]];
$s = ($length - $i) - 1;
$m = (pow(62, $s) * $t);
$value += $m;
}
echo $value;
}

PHP系统函数完成base64位的编码和解码

gmp_init,base64_encode,base64_decode

参考:http://dev.yuqingqi.com/urlencode/

php 实现base64编码与解码

实例

$value = gmp_strval(gmp_init('12',10),62);
$re = gmp_strval(gmp_init($value,62),10);
echo $re;

以上就是本文php 实现base64编码与解码的全部内容,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。