天天看点

C#中Base64之编码,解码方法

1、base64  to  string

    string strPath =  "aHR0cDovLzIwMy44MS4yOS40Njo1NTU3L1

9iYWlkdS9yaW5ncy9taWRpLzIwMDA3MzgwLTE2Lm1pZA==";         

    byte[] bpath = Convert.FromBase64String(strPath);

    strPath = System.Text.ASCIIEncoding.Default.GetString(bpath);

2、string   to  base64

    System.Text.Encoding encode = System.Text.Encoding.ASCII ;

    byte[]  bytedata = encode.GetBytes( "test");

    string strPath = Convert.ToBase64String(bytedata,0,bytedata.Length);

base64工作原理

Base64是MIME邮件中常用的编码方式之一。它的主要思想是将输入的字符串或数据编码成只含有{‘A‘-‘Z‘, ‘a‘-‘z‘, ‘0‘-‘9‘, ‘+‘, ‘/‘}这64个可打印字符的串,故称为“Base64”。

Base64编码的方法是,将输入数据流每次取6 bit,用此6 bit的值(0-63)作为索引去查表,输出相应字符。这样,每3个字节将编码为4个字符(3×8 → 4×6);不满4个字符的以‘=‘填充。

编码

public string EncodeBase64(string code_type,string code)

{

string encode = "";

byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code);

try

encode = Convert.ToBase64String(bytes);

}

catch

encode = code;

return encode;

解码

public string DecodeBase64(string code_type,string code)

string decode = "";

byte[] bytes = Convert.FromBase64String(code);

decode = Encoding.GetEncoding(code_type).GetString(bytes);

decode = code;

return decode;