📅  最后修改于: 2023-12-03 14:52:14.721000             🧑  作者: Mango
在 C# 中,我们可以使用多种方法对字符串进行编码和解码。这些方法包括 Base64 编码、URL 编码和 HTML 编码等。
Base64 是一种将二进制数据转换成 ASCII 字符的编码方式。在 C# 中,我们可以使用 Convert
类的 ToBase64String
方法将一个字符串转换为 Base64 编码的字符串,如下所示:
string input = "Hello, world!";
string base64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(input));
Console.WriteLine(base64);
这里我们首先使用 Encoding.UTF8.GetBytes
方法将字符串转换为字节数组,然后使用 Convert.ToBase64String
方法将字节数组转换为 Base64 编码的字符串。输出结果为:
SGVsbG8sIHdvcmxkIQ==
要将一个 Base64 编码的字符串解码为原始字符串,我们可以使用 Convert
类的 FromBase64String
方法,如下所示:
string base64 = "SGVsbG8sIHdvcmxkIQ==";
string input = Encoding.UTF8.GetString(Convert.FromBase64String(base64));
Console.WriteLine(input);
这里我们首先使用 Convert.FromBase64String
方法将 Base64 编码的字符串解码成字节数组,然后使用 Encoding.UTF8.GetString
方法将字节数组转换为原始字符串。输出结果为:
Hello, world!
URL 编码是一种将 URL 中特殊字符转换为可用的 ASCII 字符的过程。在 C# 中,我们可以使用 WebUtility
类的 UrlEncode
方法进行 URL 编码,如下所示:
string input = "http://www.example.com/some path?name=value";
string urlEncoded = WebUtility.UrlEncode(input);
Console.WriteLine(urlEncoded);
这里我们使用 WebUtility.UrlEncode
方法将 URL 进行编码,输出结果为:
http%3a%2f%2fwww.example.com%2fsome+path%3fname%3dvalue
要将一个 URL 编码的字符串解码为原始字符串,我们可以使用 WebUtility
类的 UrlDecode
方法,如下所示:
string urlEncoded = "http%3a%2f%2fwww.example.com%2fsome+path%3fname%3dvalue";
string input = WebUtility.UrlDecode(urlEncoded);
Console.WriteLine(input);
这里我们使用 WebUtility.UrlDecode
方法将 URL 进行解码,输出结果为:
http://www.example.com/some path?name=value
HTML 编码是一种将 HTML 中特殊字符转换为实体字符的过程。在 C# 中,我们可以使用 WebUtility
类的 HtmlEncode
方法进行 HTML 编码,如下所示:
string input = "<html><body><h1>Hello, world!</h1></body></html>";
string htmlEncoded = WebUtility.HtmlEncode(input);
Console.WriteLine(htmlEncoded);
这里我们使用 WebUtility.HtmlEncode
方法将 HTML 进行编码,输出结果为:
<html><body><h1>Hello, world!</h1></body></html>
要将一个 HTML 编码的字符串解码为原始字符串,我们可以使用 WebUtility
类的 HtmlDecode
方法,如下所示:
string htmlEncoded = "<html><body><h1>Hello, world!</h1></body></html>";
string input = WebUtility.HtmlDecode(htmlEncoded);
Console.WriteLine(input);
这里我们使用 WebUtility.HtmlDecode
方法将 HTML 进行解码,输出结果为:
<html><body><h1>Hello, world!</h1></body></html>
以上就是在 C# 中对字符串进行编码和解码的方法,希望对大家有所帮助。