常用編碼演算法

2021-08-26 12:59:38 字數 563 閱讀 3408

[b]1. base64[/b]

每6個bit位在高位添2個0形成乙個可讀的8位,這樣3個原始8位變成4個編碼8位, 3*8 = 4*6

編碼後的8位值從0-63依次對映為大小寫字母52個,數字10個,然後 [b]+[/b] 和 [b]/[/b]共64個字元.

如果原始字元數不是3的倍數,用值0位元組填充,用字元[b]=[/b]的個數表示填充的值0位元組數。

其它可選編碼:

[b]chunk:[/b] 每76個編碼後字串加乙個crlf換行符。

[b]url:[/b] 由於標準字元對映表中[b]+[/b]和[b]/[/b]是url中的關鍵字,一般將其替換成其它非關鍵字,如commons-codec將其替換成[b]-[/b]和[b]_[/b]。

參考:rfc: [url]

6.8. base64 content-transfer-encoding

百科名片: [url]

演算法實現:

commons-codec: [url]

sun jdk: sun.misc.base64encoder & sun.misc.base64decoder

常用的編碼

ascii碼是標準化字符集,使用7個二進位制位編碼,可以表示128個字元,通常ascii表示的是英文本母的二進位制編碼,例如大寫字母 a 的二進位制編碼為65,python 如下 ord a 65 chr 65 a unicode是另外一種編碼方式,是為了解決傳統編碼方式的侷限而產生的,它為每種語言...

常用編碼格式

rust實現 目錄const base64 std u8 64 b a b b b c b d b e b f b g b h b i b j b k b l b m b n b o b p b q b r b s b t b u b v b w b x b y b z b a b b b c b ...

常用編碼解釋

計算機是美國人發明的,因此,最早只有127個字元被編碼到計算機裡,也就是大小寫英文本母 數字和一些符號,這個編碼表被稱為ascii編碼,比如大寫字母a的編碼是65,小寫字母z的編碼是122。但是要處理中文顯然乙個位元組是不夠的,至少需要兩個位元組,而且還不能和ascii編碼衝突,所以,中國制定了gb...