小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Base64編碼介紹|Base64,編碼,原理

 ShangShujie 2007-07-22

Base64編碼介紹

作者:      來源:zz     發(fā)表時(shí)間:2007-02-09     瀏覽次數(shù): 5799      字號(hào):    

Base64是一種很常見的編碼規(guī)范,其作用是將二進(jìn)制序列轉(zhuǎn)換為人類可讀的ASCII字符序列,常用在需用通過文本協(xié)議(比如HTTP和SMTP)來傳輸二進(jìn)制數(shù)據(jù)的情況下。Base64并不是一種用于安全領(lǐng)域的加密解密算法(這類算法有DES等),盡管我們有時(shí)也聽到使用Base64來加密解密的說法,但這里所說的加密與解密實(shí)際是指編碼(encode)和解碼(decode)的過程,其變換是非常簡(jiǎn)單的,僅僅能夠避免信息被直接識(shí)別。

Base64采用了一種很簡(jiǎn)單的編碼轉(zhuǎn)換:對(duì)于待編碼數(shù)據(jù),以3個(gè)字節(jié)為單位,依次取6位數(shù)據(jù)并在前面補(bǔ)上兩個(gè)0形成新的8位編碼,由于3*8=4*6,這樣3個(gè)字節(jié)的輸入會(huì)變成4個(gè)字節(jié)的輸出,長(zhǎng)度上增加了1/3。

上面的處理還不能保證得到的字符都是可見字符,為了達(dá)到此目的,Base64制定了一個(gè)編碼表,進(jìn)行統(tǒng)一的轉(zhuǎn)換。碼表的大小為2^6=64,這也是Base64名稱的由來。

                            Base64編碼表

      Value Encoding  Value Encoding  Value Encoding  Value Encoding
           0 A            17 R            34 i            51 z
           1 B            18 S            35 j            52 0
           2 C            19 T            36 k            53 1
           3 D            20 U            37 l            54 2
           4 E            21 V            38 m            55 3
           5 F            22 W            39 n            56 4
           6 G            23 X            40 o            57 5
           7 H            24 Y            41 p            58 6
           8 I            25 Z            42 q            59 7
           9 J            26 a            43 r            60 8
          10 K            27 b            44 s            61 9
          11 L            28 c            45 t            62 +
          12 M            29 d            46 u            63 /
          13 N            30 e            47 v
          14 O            31 f            48 w         (pad) =
          15 P            32 g            49 x
          16 Q            33 h            50 y
         

Base64編解碼算法都很簡(jiǎn)單,網(wǎng)上有很多源碼,這里就不介紹了。

另外還有一點(diǎn)要注意的地方,前面提到編碼是以3個(gè)字節(jié)為單位,當(dāng)剩下的字符數(shù)量不足3個(gè)字節(jié)時(shí),則應(yīng)使用0進(jìn)行填充,相應(yīng)的,輸出字符則使用‘=‘占位,因此編碼后輸出的文本末尾可能會(huì)出現(xiàn)1至2個(gè)‘=‘。

這是一種典型的編碼轉(zhuǎn)換的處理方法,類似的可能還有UTF16與UTF8之間的轉(zhuǎn)換。 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多