📜  NewtonSoft 获取 base64 字符串 - C# (1)

📅  最后修改于: 2023-12-03 15:17:51.764000             🧑  作者: Mango

使用Newtonsoft获取base64字符串 - C#

Base64编码是一种将二进制数据编码为ASCII字符的方法,经常在网络传输中使用。在C#中,我们可以使用Newtonsoft.Json库轻松地将字符串转换为Base64编码或将Base64编码字符串解码为原始字符串。

1. 将字符串转换为Base64编码字符串

要将字符串转换为Base64编码字符串,请使用 Convert.ToBase64String() 方法。以下是一个示例:

string originalString = "Hello World!";
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(originalString);
string base64String = Convert.ToBase64String(bytes);
Console.WriteLine(base64String);  // SGVsbG8gV29ybGQh

这里,我们将原始字符串转换为字节数组,使用 Convert.ToBase64String() 将其转换为Base64编码字符串。

2. 将Base64编码字符串解码为原始字符串

要将Base64编码字符串解码为原始字符串,请使用 Convert.FromBase64String() 方法。以下是一个示例:

string base64String = "SGVsbG8gV29ybGQh";
byte[] bytes = Convert.FromBase64String(base64String);
string originalString = System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine(originalString);  // Hello World!

这里,我们使用 Convert.FromBase64String() 将Base64编码字符串转换为字节数组,再使用 Encoding.UTF8.GetString() 将其解码为原始字符串。

3. 使用Newtonsoft.Json将对象转换为Base64编码字符串

除了将字符串进行编码和解码,我们也可以使用Newtonsoft.Json库将对象序列化为Base64编码字符串。以下是一个示例:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

Person person = new Person { Name = "Alice", Age = 30 };
string jsonString = JsonConvert.SerializeObject(person);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(jsonString);
string base64String = Convert.ToBase64String(bytes);
Console.WriteLine(base64String);  // eyJOYW1lIjoiQWxpY2UiLCJBZ2UiOjMwfQ==

这里我们创建了一个 Person 类,将其序列化为JSON字符串,然后将JSON字符串转换为字节数组,并使用 Convert.ToBase64String() 将其转换为Base64编码字符串。

4. 使用Newtonsoft.Json将Base64编码字符串反序列化为对象

如果我们有一个Base64编码字符串,我们可以使用Newtonsoft.Json将其反序列化为原始对象。以下是一个示例:

string base64String = "eyJOYW1lIjoiQWxpY2UiLCJBZ2UiOjMwfQ==";
byte[] bytes = Convert.FromBase64String(base64String);
string jsonString = System.Text.Encoding.UTF8.GetString(bytes);
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
Console.WriteLine(person.Name);  // Alice

这里,我们将Base64编码字符串转换为字节数组和原始字符串,使用 JsonConvert.DeserializeObject<T>() 将JSON字符串反序列化为Person对象。