base64编码的目的
base64编码的目的是将字符串中含有的不可见字符用可见字符表示出来,以便复制粘贴。
例如电子邮件的附件一般使用Base64编码,因为附件数据往往含有不可见字符。
base64原理
base64的主要思想是将输入的字符串或数据编码成只含有{‘A‘-‘Z‘, ‘a‘-‘z‘, ‘0‘-‘9‘, ‘+‘, ‘/‘}这64个可打印字符的串,故称为“Base64”。
Base64编码的方法是,将输入数据流每次取6 bit,用此6 bit的值(0-63)作为索引去查表,输出相应字符。这样,每3个字节将编码为4个字符(3×8 → 4×6);不满4个字符的以‘=‘填充。
base64编码/解码帮助类
using System;
using System.Text;
namespace Helper
{
public class Base64Helper
{
public static string GetString(string base64String, Encoding encode)
{
byte[] byteArray = Convert.FromBase64String(base64String);
return GetString(byteArray, encode);
}
public static string GetBase64String(string inputString, Encoding encode)
{
byte[] byteArray = GetBytes(inputString, encode);
return Convert.ToBase64String(byteArray, 0, byteArray.Length);
}
public static string GetString(byte[] byteArray, Encoding encode)
{
return encode.GetString(byteArray);
}
public static byte[] GetBytes(string inputString, Encoding encode)
{
return encode.GetBytes(inputString);
}
}
}
string base64String = Base64Helper.GetBase64String("tt", ASCIIEncoding.Default);//base64String = "dHQ=";
string commonString = Base64Helper.GetString(base64String, ASCIIEncoding.Default);//commonString = "tt";