我是靠谱客的博主 繁荣小馒头,最近开发中收集的这篇文章主要介绍php base64encode 长度,base64_encode,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

PHP源码阅读笔记三十八:base64_encode实现

【什么是base64编码】

Base64是一种使用64基的位置计数法。它使用2的最大次方来代表仅可打印的ASCII 字符。这使它可用来作为电子邮件的传输编码。在Base64中的变量使用字符A-Z、a-z和0-9 ,这样共有62个字符,用来作为开始的64个数字,最后两个用来作为数字的符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。

【base64编码产生的历史原因】

在Email的传送过程中,由于历史原因,Email只被允许传送ASCII字符,即一个8位字节的低7位。因此,如果您发送了一封带有非ASCII字符(即字节的最高位是1)的Email通过有”历史问题“的网关时就可能会出现问题。网关可能会把最高位置为0!由于以上原因,产生了Base64编码。

【base64_encode的PHP内部实现】

base64_encode是PHP的标准函数,它存在于标准扩展中,在ext/standard/base64.c 210行,以标准的PHP_FUNCTION(base64_encode)实现。如下所示代码:

/* { { { proto string base64_encode(string str)

Encodes string using MIME base64 algorithm */

PHP_FUNCTION(base64_encode)

{

char *str;

unsigned char *result;

int str_len, ret_l

最后

以上就是繁荣小馒头为你收集整理的php base64encode 长度,base64_encode的全部内容,希望文章能够帮你解决php base64encode 长度,base64_encode所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部