国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# Base64編碼函數

2020-01-24 03:46:20
字體:
來源:轉載
供稿:網友
一. Base64的編碼規則 
       Base64編碼的思想是是采用64個基本的ASCII碼字符對數據進行重新編碼。它將需要編碼的數據拆分成字節數組。以3個字節為一組。按順序排列24 位數據,再把這24位數據分成4組,即每組6位。再在每組的的最高位前補兩個0湊足一個字節。這樣就把一個3字節為一組的數據重新編碼成了4個字節。當所要編碼的數據的字節數不是3的整倍數,也就是說在分組時最后一組不夠3個字節。這時在最后一組填充1到2個0字節。并在最后編碼完成后在結尾添加1到2個 “=”。

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

注:BASE64字符表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

二.解碼規則
解碼過程就是把4個字節再還原成3個字節再根據不同的數據形式把字節數組重新整理成數據。

三. C#中的實現
復制代碼 代碼如下:

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();
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 施甸县| 灌阳县| 陆河县| 偏关县| 启东市| 正安县| 电白县| 遂溪县| 车致| 尚义县| 仪征市| 张掖市| 临猗县| 来安县| 韶关市| 句容市| 孟村| 若羌县| 宜良县| 镇平县| 科技| 深泽县| 中卫市| 衡山县| 西和县| 丽水市| 长葛市| 彩票| 台中县| 嘉荫县| 浦城县| 龙口市| 禹城市| 东宁县| 观塘区| 昌邑市| 鄢陵县| 黄冈市| 开远市| 关岭| 乌鲁木齐市|