base64介紹:
Base64編碼是從二進制到字符的過程,可用於在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就采用了Base64來將一個較長的唯一標識符(一般為128-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base64編碼具有不可讀性,需要解碼后才能閱讀。
一個簡單的功能,其代碼如下。
public string FileToBase64(string filename) { string result = string.Empty; try { using (FileStream fs = new FileStream(filename,FileMode.Open,FileAccess.Read)) { byte[] byteArray = new byte[fs.Length]; fs.Read(byteArray,0,byteArray.Length); result = Convert.ToBase64String(byteArray); } } catch { result = ""; } return result; }
調用:
static void Main(string[] args) { ImgAndBaseProject imgAndBase = new ImgAndBaseProject(); System.Console.WriteLine(imgAndBase.FileToBase64(@"C:\Users\MACHENIKE\source\repos\ImgToBaseSixFour\ImgToBaseSixFour\GitHub.png")); }
我們在winform上把這個base64變成img放到控件上,大概就長這樣吧
代碼:
public Image Base64ToImg(string base64str)
{
byte[] arr = Convert.FromBase64String(base64str); MemoryStream ms = new MemoryStream(arr); Bitmap bmp = new Bitmap(ms); return bmp; }
完整代碼如下:

public partial class Form1 : Form { public Form1() { InitializeComponent(); } public string FileToBase64(string filename) { string result = string.Empty; try { using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) { byte[] byteArray = new byte[fs.Length]; fs.Read(byteArray, 0, byteArray.Length); result = Convert.ToBase64String(byteArray); } } catch { result = ""; } return result; } public Image Base64ToImg(string base64str) { byte[] arr = Convert.FromBase64String(base64str); MemoryStream ms = new MemoryStream(arr); Bitmap bmp = new Bitmap(ms); return bmp; } private void Form1_Load(object sender, EventArgs e) { this.richTextBox1.Text = FileToBase64(@"C:\Users\MACHENIKE\source\repos\ImgToBaseSixFour\ImgToBaseSixFour\GitHub.png").Trim(); } private void button1_Click(object sender, EventArgs e) { //MessageBox.Show(this.richTextBox1.Text); this.pictureBox1.Image = Base64ToImg(this.richTextBox1.Text.Trim()); } }