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

C# Base64編碼函數(shù)

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

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

注:BASE64字符表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

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

三. C#中的實現(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#接口實現(xiàn)方法實例分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    C#線程池ThreadPool用法簡介

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

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

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

最新評論

天气| 蓬莱市| 襄垣县| 黄骅市| 宁德市| 视频| 弋阳县| 昆明市| 民乐县| 旅游| 黔西| 万荣县| 通道| 平顶山市| 锡林郭勒盟| 长阳| 永泰县| 苏尼特右旗| 潜山县| 繁昌县| 行唐县| 大洼县| 方正县| 文水县| 彰化市| 墨竹工卡县| 江西省| 灯塔市| 温泉县| 察隅县| 涟源市| 务川| 伊金霍洛旗| 达尔| 南安市| 安岳县| 新河县| 象山县| 桐柏县| 湖北省| 双桥区|