上一篇文章中我们了解了去除右侧字符的方法,有需要的请看《php字符串闯关之去除右侧字符》。这次我们向大家介绍字符串与quoted-printable字符相互转换的方法,有需要的可以参考参考。

在开始本篇文章学习之前,我们先来看一下什么叫做quoted-printable。

Quoted-printable可译为“可打印字符引用编码”、“使用可打印字符的编码”,我们收邮件,查看信件原始信息,经常会看到这种类型的编码!

它是多用途Internet邮件扩展(Mime)的一个实现。Mime是一种Internet标准,它扩展了电子邮件标准,并致力于支持各种格式的电子邮件,如非ASCII字符、二进制格式附件等。目前,许多HTTP协议使用mime框架!Quoted printable是指使用一些常见的可打印字符来表示一个字节(8位)中的所有不可打印字符!

对Quoted-printable有一个了解之后,我们就来开始我们的正题吧。

首先我们需要将字符串转换成Quoted-printable,这样才能将Quoted-printable字符串转换成普通字符。

我们来看一个小例子。

<?php 
$str = quoted_printable_encode("Hello
Aworld.");
echo($str); 
?>

这个的结果就是

Z`ED`LW8_]VG}088O}C_D9T.png

我们看这个结果是不是有点奇怪,这个“=0A”是怎么出来的,让我们看看代码,我们在hello这个单词后面使用了键盘上的换行键,虽然这在普通html或是php中是没有问题的,并没有发生折行。但是在这个函数中,不可以,它会将这个回车键解析出来。

了解这些之后,我们去具体介绍一下这个函数吧。

quoted_printable_encode() 函数把 8 位字符串转换为 quoted-printable 字符串。

其实它是语法很简单,就是

quoted_printable_encode(string)

但是我们使用这个函数的时候需要注意:

经过 quoted-printable编码后的数据与通过邮件传输进行修改的不一样。一个完全 US-ASCII 的文本可进行 quoted-printable 编码,用来确保通过文字翻译或线包网关进行消息传递时数据的完整性。

接下来我们就将quoted-printable编码的数据还原吧。

我们就将上面这个例子的数据还原吧。

<?php 
$str = quoted_printable_decode("Hello=0AAworld.");
echo($str); 
?>

当这个例子在浏览器输出时

S3K$O7}$IV_J%[0(67$M$1F.png

当这个例子在html输出时

6`RR{(2ON573C{%LC1PGMWC.png

这样一对比,是不是就能看出区别啦,这个函数解码后的代码在浏览器上是不显示“=0A”解码结果的,但是在html中是会有具体效果的。

就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

以上就是php闯关之字符串与quoted-printable字符相互转换的详细内容,更多请关注亿码酷站其它相关文章!


php闯关之字符串与quoted-printable字符相互转换
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!