下面是关于“c# Base64编码和图片的互相转换代码”的完整攻略:
Base64编码
Base64编码是将二进制数据通过64个可打印字符来表示的一种编码方式。在C#中,我们可以使用Convert.ToBase64String()
方法将一个byte数组进行Base64编码,方法原型如下:
public static string ToBase64String (byte[] inArray);
该方法接收一个byte数组参数,返回一个Base64编码后的字符串。下面是一个示例:
using System;
class Program
{
static void Main(string[] args)
{
// 定义一个图片路径
string imagePath = @"C:\Users\admin\Desktop\pic.jpg";
// 读取图片数据
byte[] imageBytes = System.IO.File.ReadAllBytes(imagePath);
// 进行Base64编码
string base64String = Convert.ToBase64String(imageBytes);
// 输出编码后的字符串
Console.WriteLine(base64String);
}
}
上述代码中,我们首先通过System.IO.File.ReadAllBytes()
方法读取了一张图片的二进制数据,然后调用Convert.ToBase64String()
方法进行Base64编码。最后输出编码后的字符串。
Base64解码
与Base64编码相对应的是Base64解码。在C#中,我们可以使用Convert.FromBase64String()
方法将一个Base64编码的字符串解码为byte数组,方法原型如下:
public static byte[] FromBase64String (string s);
该方法接收一个string类型参数,返回一个解码后的byte数组。下面是一个示例:
using System;
class Program
{
static void Main(string[] args)
{
// 定义一个Base64编码后的字符串
string base64String = "iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAAD/hv+RAAAAA1BMVEUAAP///8+9ZRTAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";
// 解码为byte数组
byte[] imageBytes = Convert.FromBase64String(base64String);
// 输出解码后的byte数组大小
Console.WriteLine(imageBytes.Length);
}
}
上述代码中,我们首先定义了一个Base64编码后的字符串,然后调用Convert.FromBase64String()
方法将其解码为byte数组。最后输出解码后的byte数组大小。
图片转Base64编码
将图片转为Base64编码也非常简单,直接调用第一部分中介绍的Convert.ToBase64String()
方法即可,代码如下:
using System;
class Program
{
static void Main(string[] args)
{
// 定义一个图片路径
string imagePath = @"C:\Users\admin\Desktop\pic.jpg";
// 读取图片数据
byte[] imageBytes = System.IO.File.ReadAllBytes(imagePath);
// 进行Base64编码
string base64String = Convert.ToBase64String(imageBytes);
// 输出编码后的字符串
Console.WriteLine(base64String);
}
}
Base64编码转图片
同样的,在C#中将Base64编码还原为图片也非常简单,只需要先将其解码为byte数组,然后使用System.IO.File.WriteAllBytes()
方法将byte数组写入到文件即可,代码如下:
using System;
class Program
{
static void Main(string[] args)
{
// 定义一个Base64编码后的字符串
string base64String = "iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAAD/hv+RAAAAA1BMVEUAAP///8+9ZRTAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";
// 解码为byte数组
byte[] imageBytes = Convert.FromBase64String(base64String);
// 将byte数组写入到文件
System.IO.File.WriteAllBytes("pic.jpg", imageBytes);
}
}
上述代码中,我们首先定义了一个Base64编码后的字符串,然后调用Convert.FromBase64String()
方法将其解码为byte数组;最后使用System.IO.File.WriteAllBytes()
方法将byte数组写入到文件中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# Base64编码和图片的互相转换代码 - Python技术站