如何对Base64字符串进行编码和解码?

1316
  1. 如何将一个字符串转换成base64编码的字符串?

  2. 如何将一个base64编码的字符串解码成普通字符串?


8
如果这是一个“分享知识”的问题和答案,我认为我们需要更深入一些的东西。在 SO 上进行快速搜索可以找到:https://dev59.com/UFvUa4cB1Zd3GeqPqSHH#7368168 - Kev
2
请问您真的需要这么做吗?请记住,Base64 主要用于将二进制数据表示为 ASCII,并在字符字段中存储在数据库中或通过电子邮件发送(其中可能会注入新行)。您真的想将字符数据转换为字节,然后再将其转换回字符数据吗?而且这次已经无法阅读并且没有原始编码的提示了。 - bbsimonbb
4
为什么我们应该关注原始编码?我们使用UTF8表示将字符串编码为字节,这可以表示所有可能的字符串字符。然后我们对该数据进行序列化,在另一端进行反序列化并重构与原始字符串相同的字符串(字符串对象无论如何都不保存有关使用的编码信息)。那么为什么编码的使用会引起任何关注呢?我们可以将其视为表示序列化数据的专有方式,我们无论如何都不应该感兴趣。 - Mladen B.
12个回答

4

您可以像这样显示它:

var strOriginal = richTextBox1.Text;

byte[] byt = System.Text.Encoding.ASCII.GetBytes(strOriginal);

// convert the byte array to a Base64 string
string strModified = Convert.ToBase64String(byt);

richTextBox1.Text = "" + strModified;

现在,将其转换回来。

var base64EncodedBytes = System.Convert.FromBase64String(richTextBox1.Text);

richTextBox1.Text = "" + System.Text.Encoding.ASCII.GetString(base64EncodedBytes);
MessageBox.Show("Done Converting! (ASCII from base64)");

我希望这可以帮助你!

1
在C#中将字符串编码为base64字符串,您可以使用Convert.ToBase64String方法:
string originalString = "Hello World";
string encodedString = Convert.ToBase64String(Encoding.UTF8.GetBytes(originalString));

在C#中将base64编码的字符串解码为字符串,您可以使用Convert.FromBase64String方法:
string encodedString = "SGVsbG8gV29ybGQ=";
string originalString = Encoding.UTF8.GetString(Convert.FromBase64String(encodedString));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接