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

时间:2024-06-29 22:05:20

原文: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);
try
{
decode = Encoding.GetEncoding(code_type).GetString(bytes);
}
catch
{
decode = code;
}
return decode;
}