C#中Base64编码和解码的初学者指南

介绍如何在 C# 中使用 Base64 对字符串进行编码和解码,以便在只能传输文本的场景下,传输二进制数据。
On this page

C#中Base64编码和解码的初学者指南

摘要

如果您在使用 C#处理数据,可能需要使用 Base64 编码或解码字符串。这对于通过只能处理文本的通道传输二进制数据特别有用。在本博客文章中,我们将介绍如何在 C#中使用 Base64 编码和解码字符串。

将字符串编码为 Base64

要在 C#中将字符串编码为 Base64,可以使用Convert类的ToBase64String方法。以下是示例代码片段:

1string originalString = "Hello, world!";
2byte[] originalBytes = Encoding.UTF8.GetBytes(originalString);
3string encodedString = Convert.ToBase64String(originalBytes);
4Console.WriteLine("Encoded string: " + encodedString);

在此示例中,我们首先使用Encoding.UTF8.GetBytes方法将原始字符串转换为字节数组。然后,我们将此字节数组传递给Convert.ToBase64String方法,该方法返回编码后的字符串。最后,我们将编码后的字符串打印到控制台。

将 Base64 解码为字符串

要将 Base64 字符串解码回其原始字符串表示形式,可以使用Convert类的FromBase64String方法。以下是示例代码片段:

1string encodedString = "SGVsbG8sIHdvcmxkIQ==";
2byte[] encodedBytes = Convert.FromBase64String(encodedString);
3string originalString = Encoding.UTF8.GetString(encodedBytes);
4Console.WriteLine("Original string: " + originalString);

在此示例中,我们首先有编码过的字符串。然后,我们将此编码过的字符串传递给Convert.FromBase64String方法,该方法返回表示原始字符串的字节数组。最后,我们使用Encoding.UTF8.GetString方法将此字节数组转换回原始字符串。再次,我们将原始字符串打印到控制台。

使用时的注意事项

虽然使用 Base64 编码和解码可能很有用,但还是有一些注意事项:

  1. 不要使用 Base64 进行加密。 Base64 不是加密形式,可以轻松解码。如果需要加密数据,请使用适当的加密方案。

  2. 注意 Base64 数据的增加大小。 因为 Base64 将二进制数据编码为 ASCII 文本,所以编码数据的大小可能比原始数据大多达 33%。在通过带宽有限的通道传输数据时,请将此记在心中。

  3. 在解码不受信任的数据时要小心。 如果未正确验证输入数据,则解码 Base64 数据可能会引入安全漏洞。确保仅解码受信任的数据以避免这些问题。

通过牢记这些注意事项,您可以安全有效地使用 Base64 编码和解码。

在线 base64 工具,快速验证答案