欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Quoted-printable 編碼介紹、Quoted-printable編碼解碼轉(zhuǎn)換方法

 更新時(shí)間:2016年06月04日 23:53:22   投稿:mdxy-dxy  
這篇文章主要介紹了Quoted-printable 編碼介紹、Quoted-printable編碼解碼轉(zhuǎn)換方法,需要的朋友可以參考下

Quoted-printable 可譯為“可打印字符引用編碼”、“使用可打印字符的編碼”,我們收郵件,查看信件原始信息,經(jīng)常會看到這種類型的編碼!

最多時(shí)候,我們在郵件頭里面能夠看到這樣的編碼!Content-Transfer-Encoding:quoted-printable

它是多用途互聯(lián)網(wǎng)郵件擴(kuò)展(MIME) 一種實(shí)現(xiàn)方式。其中MIME是一個(gè)互聯(lián)網(wǎng)標(biāo)準(zhǔn),它擴(kuò)展了電子郵件標(biāo)準(zhǔn),致力于使其能夠支持非ASCII字符、二進(jìn)制格式附件等多種格式的郵件消息。目前http協(xié)議中,很多采用MIME框架!quoted-printable 就是說用一些可打印常用字符,表示一個(gè)字節(jié)(8位)中所有非打印字符方法!

Quoted-printable編碼方法

任何一個(gè)8位的字節(jié)值可編碼為3個(gè)字符:一個(gè)等號”=”后跟隨兩個(gè)十六進(jìn)制數(shù)字(0–9或A–F)表示該字節(jié)的數(shù)值.例如,ASCII碼換頁符(十進(jìn)制值為12)可以表示為”=0C”, 等號”=”(十進(jìn)制值為61)必須表示為”=3D”. 除了可打印ASCII字符與換行符以外,所有字符必須表示為這種格式.

所有可打印ASCII字符(十進(jìn)制值的范圍為33到126)可用ASCII字符編碼來直接表示, 但是等號”=”(十進(jìn)制值為61)不可以這樣直接表示.ASCII的水平制表符(tab)與空格符, 十進(jìn)制為9和32, 如果不出現(xiàn)在行尾則可以用其ASCII字符編碼直接表示。如果這兩個(gè)字符出現(xiàn)在行尾,必須QP編碼表示為”=09″ (tab)或”=20″ (space).

如果數(shù)據(jù)中包含有意義的行結(jié)束標(biāo)志,必須轉(zhuǎn)換為ASCII回車(CR)換行(LF)序列,既不能用原來的ASCII字符也不能用QP編碼的”=”轉(zhuǎn)義字符序列。 相反,如果字節(jié)值13與10有其它的不是行結(jié)束的含義,它們必須QP編碼為=0D與=0A.

quoted-printable編碼的數(shù)據(jù)的每行長度不能超過76個(gè)字符. 為滿足此要求又不改變被編碼文本,在QP編碼結(jié)果的每行末尾加上軟換行(soft line break). 即在每行末尾加上一個(gè)”=”, 但并不會出現(xiàn)在解碼得到的文本中.

例如:If you believe that truth=beauty, then surely mathematics is the most beautiful branch of philosophy. 編碼后結(jié)果是

If you believe that truth=3Dbeauty, then surely=20=
mathematics is the most beautiful branch of philosophy.

編碼里面,有幾個(gè)特定限定,一些可打印字符不用編碼,當(dāng)然如果你按照規(guī)范編碼后,也一樣可以顯示的!因此自己簡單自己實(shí)現(xiàn)該編碼:

function quoted_printable_encode($string) { 
  return preg_replace('/[^\r\n]{73}[^=\r\n]{2}/', "$0=\r\n", str_replace("%","=",
rawurlencode($string))); 
}

一個(gè)函數(shù)就可以,將所有字符串urlencode轉(zhuǎn)換后,%號替換為”=”號,然后對非\r\n超過73連續(xù)字符,后面加一個(gè)=\r\n。這個(gè)是簡單實(shí)現(xiàn)方法! 按照該編碼詳細(xì)說明里面,有些空格、換行,還有一些特殊字符可以不用轉(zhuǎn)換。不過一起轉(zhuǎn)換了,也不會有影響!

很多時(shí)候,我們用些常見字符表示所有8位其它非打印字符,這種通過,Quoted-printable編碼,只是對該字節(jié)轉(zhuǎn)為16進(jìn)制后,做簡單增加前綴!然后做些特殊字符處理即可! 它的簡單,及編碼高效,也讓該編碼在郵件格式里面,得到了廣泛使用!好了,就到這里,歡迎交流!

相關(guān)文章

  • Git用戶簽名的修改取消及優(yōu)先級拓展教程

    Git用戶簽名的修改取消及優(yōu)先級拓展教程

    這篇文章主要為大家介紹了Git用戶簽名的修改取消及優(yōu)先級拓展教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 好玩的vbs小程序之關(guān)機(jī)功能

    好玩的vbs小程序之關(guān)機(jī)功能

    這篇文章主要介紹了好玩的vbs小程序之關(guān)機(jī)功能,非常有趣,感興趣的朋友跟隨小編一起看看吧
    2019-09-09
  • 深度卷積神經(jīng)網(wǎng)絡(luò)各種改進(jìn)結(jié)構(gòu)塊匯總

    深度卷積神經(jīng)網(wǎng)絡(luò)各種改進(jìn)結(jié)構(gòu)塊匯總

    這篇文章主要為大家介紹了深度卷積神經(jīng)網(wǎng)絡(luò)各種改進(jìn)結(jié)構(gòu)塊匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • OAuth 2.0 概念及授權(quán)流程梳理

    OAuth 2.0 概念及授權(quán)流程梳理

    這篇文章主要介紹了OAuth 2.0 概念及授權(quán)流程梳理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • HTTP協(xié)議詳細(xì)介紹

    HTTP協(xié)議詳細(xì)介紹

    HTTP是訪問互聯(lián)網(wǎng)使用的核心通信協(xié)議,也是所有web應(yīng)用程序使用的通信協(xié)議。本文詳細(xì)介紹了HTTP協(xié)議,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C++/QT/Python/MATLAB獲取文件行數(shù)的示例詳解

    C++/QT/Python/MATLAB獲取文件行數(shù)的示例詳解

    這篇文章主要為大家學(xué)習(xí)介紹了如何利用C++、QT、Python、MATLAB分別實(shí)現(xiàn)獲取文件行數(shù)的功能,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2023-08-08
  • Archlinux?Timeshift系統(tǒng)備份與還原的操作方法

    Archlinux?Timeshift系統(tǒng)備份與還原的操作方法

    這篇文章主要介紹了Archlinux?Timeshift系統(tǒng)備份與還原的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • 軟件測試面試如何測試一個(gè)杯子

    軟件測試面試如何測試一個(gè)杯子

    本文主要介紹軟件測試面試如何測試一個(gè)杯子,這里幫大家整理了詳細(xì)的面試資料,和面試需要準(zhǔn)備的知識點(diǎn),有興趣的小伙伴可以參考下
    2016-08-08
  • 8種類型極品程序員,不知你屬于哪一種?

    8種類型極品程序員,不知你屬于哪一種?

    這篇文章主要介紹了8種類型極品程序員,不知你屬于哪一種?本文總結(jié)歸納了8種程類型的程序員,總結(jié)的非常精辟,來看看你是屬于哪一種吧~
    2014-09-09
  • 微信小程序應(yīng)用號開發(fā)體驗(yàn)

    微信小程序應(yīng)用號開發(fā)體驗(yàn)

    這篇文章主要介紹了微信小程序(應(yīng)用號)開發(fā)體驗(yàn)的相關(guān)資料,需要的朋友可以參考下
    2016-09-09

最新評論