四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

C# Base64編碼

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

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

注:BASE64字符表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

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

三. C#中的實(shí)現(xiàn)
復(fù)制代碼 代碼如下:
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();

AspNet技術(shù)C# Base64編碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 《摧花狂魔》电影| 服务质量模型| 江西省高中生综合素质自我评价| 口述与子性细节过程| 伦理 在线| 饭店装修效果图| 经典伦理电影| 毛骨悚然撞鬼经| 高天妮| 今天cctv6节目表| 《最后的凶手》免费观看| 北京卫视节目单今天| 黎小军| 大石桥联盟| 苏明明为艺术奉献的电影有哪些| 李英恩| 大奉打更人电视剧免费在线观看 | 小数除法竖式50道带答案| 四年级上册语文书有鬼| 浙江卫视节目回放入口| 部队换季保养广播稿| 丰满少妇a级片| 圣洁四人行| 快乐宝贝电影免费观看| 大园桃子| 净三业真言| 奇爱博士| 帕米尔的春天笛子独奏| 最美情侣高清免费观看视频大全| 林佑星| 6套电影频道节目表| 红色角落| 777精品| cctv16直播| 在线播放免费视频播放| 十三刺客| 直播惊魂夜| 女子阴道| 红海行动2在线观看西瓜影院| 一千零一夜凯瑟林| karina hart|