php闯关之字符串与quoted-printable字符相互转换
上一篇文章中我们了解了去除右侧字符的方法,有需要的请看《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); ?>
这个的结果就是
我们看这个结果是不是有点奇怪,这个“=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); ?>
当这个例子在浏览器输出时
当这个例子在html输出时
这样一对比,是不是就能看出区别啦,这个函数解码后的代码在浏览器上是不显示“=0A
”解码结果的,但是在html中是会有具体效果的。
就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程