欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# Base64編碼函數(shù)

 更新時間:2009年06月24日 23:47:01   作者:  
Base64編碼的思想是是采用64個基本的ASCII碼字符對數(shù)據(jù)進行重新編碼。它將需要編碼的數(shù)據(jù)拆分成字節(jié)數(shù)組。
一. Base64的編碼規(guī)則 
       Base64編碼的思想是是采用64個基本的ASCII碼字符對數(shù)據(jù)進行重新編碼。它將需要編碼的數(shù)據(jù)拆分成字節(jié)數(shù)組。以3個字節(jié)為一組。按順序排列24 位數(shù)據(jù),再把這24位數(shù)據(jù)分成4組,即每組6位。再在每組的的最高位前補兩個0湊足一個字節(jié)。這樣就把一個3字節(jié)為一組的數(shù)據(jù)重新編碼成了4個字節(jié)。當所要編碼的數(shù)據(jù)的字節(jié)數(shù)不是3的整倍數(shù),也就是說在分組時最后一組不夠3個字節(jié)。這時在最后一組填充1到2個0字節(jié)。并在最后編碼完成后在結尾添加1到2個 “=”。

例:將對ABC進行BASE64編碼:
1、首先取ABC對應的ASCII碼值。A(65)B(66)C(67);
2、再取二進制值A(01000001)B(01000010)C(01000011);
3、然后把這三個字節(jié)的二進制碼接起來(010000010100001001000011);
4、 再以6位為單位分成4個數(shù)據(jù)塊,并在最高位填充兩個0后形成4個字節(jié)的編碼后的值,(00010000)(00010100)(00001001)(00000011),其中藍色部分為真實數(shù)據(jù);
5、再把這四個字節(jié)數(shù)據(jù)轉化成10進制數(shù)得(16)(20)(9)(3);
6、最后根據(jù)BASE64給出的64個基本字符表,查出對應的ASCII碼字符(Q)(U)(J)(D),這里的值實際就是數(shù)據(jù)在字符表中的索引。

注:BASE64字符表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

二.解碼規(guī)則
解碼過程就是把4個字節(jié)再還原成3個字節(jié)再根據(jù)不同的數(shù)據(jù)形式把字節(jié)數(shù)組重新整理成數(shù)據(jù)。

三. C#中的實現(xiàn)
復制代碼 代碼如下:

byte[] bytes = Encoding.Default.GetBytes("helloworld");
string str = Convert.ToBase64String(bytes);
Console.WriteLine(str);
Console.ReadLine();
//base 64 decode
bytes = Convert.FromBase64String(str);
Console.WriteLine(Encoding.Default.GetString(bytes));
Console.ReadLine();

相關文章

  • C#訪問PostGreSQL數(shù)據(jù)庫的方法

    C#訪問PostGreSQL數(shù)據(jù)庫的方法

    這次的項目中的一個環(huán)節(jié)要求我把PostGreSQL數(shù)據(jù)取出來,然后放到SqlServer里,再去處理分析。
    2013-04-04
  • C#檢測DataSet是否為空的方法

    C#檢測DataSet是否為空的方法

    這篇文章主要介紹了C#檢測DataSet是否為空的方法,涉及C#操作DataSet的技巧,非常簡單實用,需要的朋友可以參考下
    2015-04-04
  • implicit關鍵字做自定義類型隱式轉換的方法

    implicit關鍵字做自定義類型隱式轉換的方法

    implicit 關鍵字用于聲明隱式的用戶定義類型轉換運算符。如果轉換過程可以確保不會造成數(shù)據(jù)丟失,則可使用該關鍵字在用戶定義類型和其他類型之間進行隱式轉換,這篇文章就給大家詳細介紹implicit關鍵字做自定義類型隱式轉換的方法,需要的朋友可以參考下
    2015-08-08
  • C# WPF Image控件的綁定方法

    C# WPF Image控件的綁定方法

    這篇文章主要介紹了C# WPF Image控件的綁定方法,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C# 實現(xiàn)FTP客戶端的小例子

    C# 實現(xiàn)FTP客戶端的小例子

    這篇文章主要介紹了C# 如何實現(xiàn)FTP客戶端,文中實例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • C#詞法分析器之構造NFA詳解

    C#詞法分析器之構造NFA詳解

    本篇文章介紹了,C#詞法分析器之構造NFA詳解。需要的朋友參考下
    2013-05-05
  • C#使用CryptoStream類加密和解密字符串的實現(xiàn)

    C#使用CryptoStream類加密和解密字符串的實現(xiàn)

    CryptoStream設計用于在內容以流的形式輸出到文件時加密和解密內容,本文主要介紹了C#使用CryptoStream類加密和解密字符串的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • c#的treeview綁定和獲取值的方法

    c#的treeview綁定和獲取值的方法

    這篇文章主要介紹了c#的treeview綁定和獲取值的方法,需要的朋友可以參考下
    2014-04-04
  • C# 使用WPF 用MediaElement控件實現(xiàn)視頻循環(huán)播放

    C# 使用WPF 用MediaElement控件實現(xiàn)視頻循環(huán)播放

    在WPF里用MediaElement控件,實現(xiàn)一個循環(huán)播放單一視頻的程序,同時可以控制視頻的播放、暫停、停止。這篇文章給大家介紹了C# 使用WPF 用MediaElement控件實現(xiàn)視頻循環(huán)播放,需要的朋友參考下吧
    2018-04-04
  • C#實現(xiàn)多文件打包壓縮(.Net?Core)

    C#實現(xiàn)多文件打包壓縮(.Net?Core)

    本文詳細講解了.Net?Core框架下C#實現(xiàn)多文件打包壓縮的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12

最新評論