Base64是一种用于将二进制数据编码成ASCII字符的编码方式。在C#中,可以使用Convert类的FromBase64String方法来解码Base64字符串或字符数组。
当解码Base64时,如果出现"Base-64字符数组或字符串的长度无效"的错误提示,通常是因为输入的Base64字符串或字符数组的长度不是4的倍数,或者包含了非法的Base64字符。
为了解决这个问题,可以先检查输入的Base64字符串或字符数组的长度是否合法,然后再进行解码操作。以下是一个示例代码:
using System;
public class Program
{
public static void Main()
{
string base64String = "SGVsbG8gd29ybGQ="; // 示例Base64字符串
// 检查Base64字符串长度是否合法
if (base64String.Length % 4 != 0)
{
Console.WriteLine("Base-64字符数组或字符串的长度无效");
return;
}
try
{
// 解码Base64字符串
byte[] bytes = Convert.FromBase64String(base64String);
string decodedString = System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine(decodedString);
}
catch (Exception ex)
{
Console.WriteLine("解码失败:" + ex.Message);
}
}
}
在上述示例中,我们首先检查了Base64字符串的长度是否合法,如果不合法则输出错误提示。然后使用Convert.FromBase64String方法将Base64字符串解码成字节数组,再使用System.Text.Encoding.UTF8.GetString方法将字节数组转换成字符串。最后输出解码后的字符串。
这样,无论是Base64字符串还是字符数组,都可以通过以上代码进行解码操作。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
领取专属 10元无门槛券
手把手带您无忧上云