濮阳杆衣贸易有限公司

主頁 > 知識庫 > Quoted-printable 編碼介紹、Quoted-printable編碼解碼轉換方法

Quoted-printable 編碼介紹、Quoted-printable編碼解碼轉換方法

熱門標簽:地圖標注植物名稱 熱血傳奇沃瑪森林地圖標注 福建ai電銷機器人加盟公司 地圖標注審核工作怎么樣注冊 無錫電銷機器人銷售 招聘信息 揭陽外呼系統(tǒng)公司 南召400電話辦理資費 鄭州中國移動400電話申請 去哪里辦卡

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

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

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

Quoted-printable編碼方法

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

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

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

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

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

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

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

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

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

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

您可能感興趣的文章:
  • python關于Quoted-printable編碼詳解和quopri庫的使用說明

標簽:文山 東莞 宣城 景德鎮(zhèn) 黔南 南昌 桂林 鹽城

巨人網(wǎng)絡通訊聲明:本文標題《Quoted-printable 編碼介紹、Quoted-printable編碼解碼轉換方法》,本文關鍵詞  Quoted-printable,編碼,介紹,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Quoted-printable 編碼介紹、Quoted-printable編碼解碼轉換方法》相關的同類信息!
  • 本頁收集關于Quoted-printable 編碼介紹、Quoted-printable編碼解碼轉換方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    高青县| 康马县| 陇川县| 永靖县| 阜新市| 石狮市| 榆树市| 盘山县| 陇西县| 耿马| 霍州市| 城步| 灵武市| 武汉市| 苏尼特右旗| 长葛市| 靖江市| 高要市| 肃南| 连云港市| 普定县| 普格县| 吴忠市| 白河县| 陇南市| 共和县| 堆龙德庆县| 万全县| 海淀区| 故城县| 白玉县| 丹江口市| 林甸县| 五大连池市| 三原县| 茶陵县| 和硕县| 双鸭山市| 神木县| 磐石市| 长乐市|