C# 中的 Base64 编码函数可以将二进制数据转换为文本字符串,这个编码过程是可逆的,可以通过反解码函数将 Base64 字符串还原成原始二进制数据。本文将详细介绍 C# 中 Base64 编码函数的用法,包括编码方法、解码方法、示例等内容。
Base64 编码方法
在 C# 中使用 Base64 编码方法可以通过 System.Convert 类和 System.Text.Encoding 类提供的静态方法进行。
1. 使用 System.Convert 类中的静态方法实现 Base64 编码
System.Convert 类中的 ToBase64String 方法可以将一个包含字节序列的数组转换为一个 Base64 字符串表示形式。
byte[] bytes = new byte[] { 1, 2, 3, 4, 5 };
string base64Str = System.Convert.ToBase64String(bytes);
Console.WriteLine(base64Str); // 输出:AQIDBAU=
2. 使用 System.Text.Encoding 类中的静态方法实现 Base64 编码
System.Text.Encoding 类中的 GetBytes 方法可以将字符串编码为一个包含 8 位无符号整数的字节数组,并且可以选择使用 Base64 编码算法进行编码。
string originalString = "hello world";
byte[] originalBytes = System.Text.Encoding.UTF8.GetBytes(originalString);
string base64Str = System.Convert.ToBase64String(originalBytes);
Console.WriteLine(base64Str); // 输出: aGVsbG8gd29ybGQ=
Base64 解码方法
与 Base64 编码方法一样,Base64 解码方法在 C# 中同样可以使用 System.Convert 类和 System.Text.Encoding 类提供的静态方法实现。
1. 使用 System.Convert 类中的静态方法实现 Base64 解码
System.Convert 类中的 FromBase64String 方法可以将一个 Base64 字符串表示形式转换为一个包含字节序列的数组。
string base64Str = "AQIDBAU=";
byte[] bytes = System.Convert.FromBase64String(base64Str);
foreach (byte b in bytes)
{
Console.Write("{0} ", b); // 输出: 1 2 3 4 5
}
2. 使用 System.Text.Encoding 类中的静态方法实现 Base64 解码
System.Text.Encoding 类中的 GetBytes 方法同样支持使用 Base64 算法进行解码。
string base64Str = "aGVsbG8gd29ybGQ=";
byte[] base64Bytes = System.Text.Encoding.UTF8.GetBytes(base64Str);
byte[] bytes = System.Convert.FromBase64String(System.Text.Encoding.UTF8.GetString(base64Bytes));
string originalString = System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine(originalString); // 输出:hello world
示例
下面是一个使用 Base64 编码和解码函数的示例程序:
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
string originalString = "hello world";
byte[] originalBytes = System.Text.Encoding.UTF8.GetBytes(originalString);
// Base64 编码
string base64Str = System.Convert.ToBase64String(originalBytes);
Console.WriteLine(base64Str);
// Base64 解码
byte[] base64Bytes = System.Text.Encoding.UTF8.GetBytes(base64Str);
byte[] bytes = System.Convert.FromBase64String(System.Text.Encoding.UTF8.GetString(base64Bytes));
string decryptedString = System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine(decryptedString);
}
}
}
输出:
aGVsbG8gd29ybGQ=
hello world
以上就是 C# 中 Base64 编码函数的详细介绍,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# Base64编码函数 - Python技术站