Base64 編碼簡介
Base64是一種使用64基的位置計數法。它使用2的最大次方來代表僅可列印的ASCII字元。這使它可用來作為電子郵件的傳輸編碼。在Base64中的變數使用字元A-Z、a-z和0-9 ,這樣共有62個字元,用來作為開始的64個數字,最後兩個用來作為數字的符號在不同的系統中而不同。一些如UUENCODE的其他編碼方法,和之後binhex的版本使用不同的64字元集來代表6個二進位數字,但是它們不叫Base64。
轉換的時候,將三個byte的數據,先後放入一個24bit的緩衝區中,先來的byte占高位。數據不足3byte的話,於緩衝區中剩下的Bit用0補足。然後,每次取出6個bit,按照其值選擇ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/中的字元作為編碼後的輸出。不斷進行,直到全部輸入數據轉換完成。
如果最後剩下兩個輸入數據,在編碼結果後加1個「=」;如果最後剩下一個輸入數據,編碼結果後加2個「=」;如果沒有剩下任何數據,就什麼都不要加,這樣才可以保證資料還原的正確性。
C#使用base64編碼的範例方法
2010/01/01 Add
base64線上轉換工具
base64線上轉換工具程式碼(Python)
Base64是一種使用64基的位置計數法。它使用2的最大次方來代表僅可列印的ASCII字元。這使它可用來作為電子郵件的傳輸編碼。在Base64中的變數使用字元A-Z、a-z和0-9 ,這樣共有62個字元,用來作為開始的64個數字,最後兩個用來作為數字的符號在不同的系統中而不同。一些如UUENCODE的其他編碼方法,和之後binhex的版本使用不同的64字元集來代表6個二進位數字,但是它們不叫Base64。
轉換的時候,將三個byte的數據,先後放入一個24bit的緩衝區中,先來的byte占高位。數據不足3byte的話,於緩衝區中剩下的Bit用0補足。然後,每次取出6個bit,按照其值選擇ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/中的字元作為編碼後的輸出。不斷進行,直到全部輸入數據轉換完成。
如果最後剩下兩個輸入數據,在編碼結果後加1個「=」;如果最後剩下一個輸入數據,編碼結果後加2個「=」;如果沒有剩下任何數據,就什麼都不要加,這樣才可以保證資料還原的正確性。
C#使用base64編碼的範例方法
什麼是base64編碼之前已經寫過了所以不再贅述 今天剛好在研究xuite保護其flv的方法 發現它用了很多base64的編碼來轉換網址等資訊
所以寫了一個簡單的base64轉明文的小工具 寫法如下
//64進位編碼轉成明文
private void button1_Click(object sender, EventArgs e)
{
textBox_string.Text= Encoding.Default.GetString (Convert.FromBase64String(textBox_base64.Text));
}
//明文轉成64進位編碼
private void button2_Click(object sender, EventArgs e)
{
textBox_base64.Text= Convert.ToBase64String(Encoding.Default.GetBytes(textBox_string.Text));
}
2010/01/01 Add
base64線上轉換工具
base64線上轉換工具程式碼(Python)
0 意見:
張貼留言張貼留言