Kewail 三種常用的郵件內容傳送編碼

2021-09-10 04:39:30 字數 1712 閱讀 2242

一、ascii碼

ascii 碼使用指定的7 位或8 位二進位制數組合來表示128 或256 種可能的字元。標準ascii 碼也叫基礎ascii碼,使用7 位二進位制數(剩下的1位二進位制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號, 以及在美式英語中使用的特殊控制字元。其中:0~31及127(共33個)是控制字元或通訊專用字元(其餘為可顯示字元),如

控制符:lf(換行)、cr(回車)、ff(換頁)、del(刪除)、bs(退格)、bel(響鈴)等;

通訊專用字元:soh(文頭)、eot(文尾)、ack(確認)等;

ascii值為8、9、10 和13 分別轉換為退格、製表、換行和回車字元。它們並沒有特定的圖形顯示,但會依不同的應用程式,而對文字顯示有不同的影響。

32~126(共95個)是字元(32是空格),其中48~57為0到9十個阿拉伯數字。

65~90為26個大寫英文本母,97~122號為26個小寫英文本母,其餘為一些標點符號、運算符號等。

同時還要注意,在標準ascii中,其最高位(b7)用作奇偶校驗位。所謂奇偶校驗,是指在**傳送過程中用來檢驗是否出現錯誤的一種方法,一般分奇校驗和偶校驗兩種。奇校驗規定:正確的**乙個位元組中1的個數必須是奇數,若非奇數,則在最高位b7添1;偶校驗規定:正確的**乙個位元組中1的個數必須是偶數,若非偶數,則在最高位b7添1。

後128個稱為擴充套件ascii碼。許多基於x86的系統都支援使用擴充套件(或「高」)ascii。擴充套件ascii 碼允許將每個字元的第8 位用於確定附加的128 個特殊符號字元、外來語字母和圖形符號。

二、quoted-printable

這種編碼方法適用於所傳送的資料中只有少量的非ascii碼,例如漢字。這種編碼方法的要點為對於所有可列印的ascii碼,除特殊字元等號「=」外,都不改變。等號「=」和不可列印的ascii碼以及非ascii碼的資料的編碼方法是:先將每個位元組的二進位制**用兩個十六進製制的數字表示,然後在前面加上乙個等號「=」。例如:

漢字的「系統」的二進位制編碼是:11001111 10110101 11001101 10110011(共32位,但這四個位元組都不是ascii碼)

其十六進製制數字表示為:cf b5 cd b3

用queted-printable編碼表示為:=cf=b5=cd=b3,這12個字元都是可列印的ascii字元,它們的二進位制編碼需要96位,和原來的32位相比,開銷達200%。

而等號「=」的二進位制**為00111101,即十六進製制的3d,因此等號「=」的queted-printable編碼為「=3d」。

三、base64編碼

這種編碼方法是先把二進位制**為乙個個24位長的單元,然後把每乙個24位單元劃分為4個6位組。每乙個6位組按以下方法轉換成ascii碼。

6位的二進位制**共有64種不同的值,從0到63。用a表示0,用b表示1,等等。26個大寫字母排列完畢後,接下去再排26個小寫字母,再後面是10個數字,最後用「+」表示62,用「/」表示63。再用兩個連在一起的等號「==」和乙個等號分別表示最後一組的**只有8位或16位。回車和換行都忽略,它們可在任何地方插入。

下面是乙個base64編碼的例子:

24位二進位制** 01001001 00110001 01111001

劃分為4個6位組 010010 010011 000101 111001

對應的base64編碼 s t f 5

用ascii編碼傳送 01010011 01010100 01000110 00110101

24位的二進位制**採用base64編碼後變成了32位,開銷為25%。

內容付費的三種模式

對於現在還想進入這個行業裡的人來說,面臨的最大問題是頭部資源已經形成,大多的流量和收入都已經聚焦在頭部,如果沒有相應的積累,僅僅憑藉風口是很難立足的。內容產品本身非常脆弱,因為能夠展示給使用者的東西相對單一,和使用者之間的互動相對薄弱,這就導致了內容本身的質量必須過硬,基本上沒有任何可以取巧的路數,...

自動傳送郵件三種方式

一 sql觸發器傳送 二 winform程式後用任務計畫傳送 頁面 引用 using system.data.common using system.data.sqlclient using system.configuration using system.data using system.ne...

三種常用的STL

1 vector容器 vector容器是乙個動態陣列的結構,在記憶體中有乙個指標指向一塊連續的記憶體。類似陣列結構一樣。它的特點支援隨機訪問資料,因為其在記憶體中的單元是連續。如此之外,還可以vector的大小是可以自動增長的。當向乙個vector中繼續存放資料的時候,如果當前的記憶體大小不夠,核心...