上一篇文章中我們了解了去除右側字元的方法,有需要的請看《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影片教學
#以上是php闖關字串與quoted-printable字元相互轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!