最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# Base64編碼函數(shù)

 更新時(shí)間:2009年06月24日 23:47:01   作者:  
Base64編碼的思想是是采用64個(gè)基本的ASCII碼字符對(duì)數(shù)據(jù)進(jìn)行重新編碼。它將需要編碼的數(shù)據(jù)拆分成字節(jié)數(shù)組。
一. 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ù),也就是說(shuō)在分組時(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)制碼接起來(lái)(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ī)則
解碼過(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();

相關(guān)文章

  • C#接口實(shí)現(xiàn)方法實(shí)例分析

    C#接口實(shí)現(xiàn)方法實(shí)例分析

    這篇文章主要介紹了C#接口實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了C#接口的功能、定義及實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • C#中設(shè)計(jì)、使用Fluent API

    C#中設(shè)計(jì)、使用Fluent API

    這篇文章主要介紹了C#中設(shè)計(jì)、使用Fluent API,本文講解了最簡(jiǎn)單且最實(shí)用的設(shè)計(jì)、設(shè)計(jì)具有調(diào)用順序的Fluent API、泛型類的Fluent設(shè)計(jì)等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • C#采用Winform實(shí)現(xiàn)類似Android的Listener

    C#采用Winform實(shí)現(xiàn)類似Android的Listener

    這篇文章主要介紹了C#采用Winform實(shí)現(xiàn)類似Android的Listener,很實(shí)用的技巧,需要的朋友可以參考下
    2014-08-08
  • C#使用異步流高效處理序列數(shù)據(jù)的方法詳解

    C#使用異步流高效處理序列數(shù)據(jù)的方法詳解

    C#中的異步流(Async Streams),異步流是C# 8.0引入的一個(gè)新特性,它允許你異步地處理序列數(shù)據(jù),非常適合處理大量數(shù)據(jù)或長(zhǎng)時(shí)間運(yùn)行的任務(wù),本文給大家介紹了C#使用異步流高效處理序列數(shù)據(jù)的方法步驟,需要的朋友可以參考下
    2024-11-11
  • C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓

    C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓

    這篇文章主要為大家詳細(xì)介紹了C#使用GZipStream實(shí)現(xiàn)文件的壓縮與解壓,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • C#中的out關(guān)鍵字用法詳解

    C#中的out關(guān)鍵字用法詳解

    在 C# 中,out 關(guān)鍵字是一個(gè)修飾符,它允許你在方法內(nèi)部創(chuàng)建一個(gè)臨時(shí)的變量,用于接收傳遞進(jìn)來(lái)的參數(shù)值,并在方法執(zhí)行完畢后,將該變量的值返回給調(diào)用方法的對(duì)象,本文將給大家詳細(xì)介紹一下C#中的out關(guān)鍵字用法,需要的朋友可以參考下
    2024-02-02
  • C#讀取本地網(wǎng)絡(luò)配置信息全攻略分享

    C#讀取本地網(wǎng)絡(luò)配置信息全攻略分享

    在當(dāng)今數(shù)字化時(shí)代,網(wǎng)絡(luò)已深度融入我們生活與工作的方方面面,對(duì)于軟件開(kāi)發(fā)而言,掌握本地計(jì)算機(jī)的網(wǎng)絡(luò)配置信息顯得尤為關(guān)鍵,而在 C# 編程的世界里,我們又該如何巧妙地讀取這些至關(guān)重要的本地網(wǎng)絡(luò)配置信息呢?接下來(lái),就讓我們一同踏上探索之旅
    2025-01-01
  • WPF實(shí)現(xiàn)在線預(yù)覽和顯示W(wǎng)ord和PDF文件

    WPF實(shí)現(xiàn)在線預(yù)覽和顯示W(wǎng)ord和PDF文件

    這篇文章主要為大家詳細(xì)介紹了如何使用WPF實(shí)現(xiàn)在線預(yù)覽和顯示W(wǎng)ord和PDF文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • C#線程池ThreadPool用法簡(jiǎn)介

    C#線程池ThreadPool用法簡(jiǎn)介

    這篇文章介紹了C#線程池ThreadPool的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 詳解如何在C#中使用COM接口

    詳解如何在C#中使用COM接口

    COM是一種二進(jìn)制接口標(biāo)準(zhǔn),允許軟件組件在同一進(jìn)程中、跨進(jìn)程甚至跨網(wǎng)絡(luò)透明地交互,COM接口定義了一組方法和屬性,這些方法和屬性可以通過(guò)任何支持該模型的語(yǔ)言調(diào)用來(lái)訪問(wèn),本文給大家介紹了如何在C#中使用COM接口,需要的朋友可以參考下
    2025-03-03

最新評(píng)論

七台河市| 新干县| 象山县| 满洲里市| 阳新县| 柳林县| 新余市| 贵定县| 措美县| 沾益县| 绵竹市| 增城市| 克山县| 长沙县| 乌拉特中旗| 苏尼特左旗| 玉树县| 平果县| 大兴区| 西林县| 双鸭山市| 永吉县| 上林县| 香港| 金坛市| 昌图县| 聊城市| 墨玉县| 孟村| 泰安市| 鄢陵县| 靖州| 古交市| 铁岭市| 尚义县| 唐山市| 额敏县| 改则县| 深州市| 武清区| 聂拉木县|