我目前正在为“Convert.FromBase64String”函数转圈。它首先抛出了字符串长度不正确的错误,所以我使用以下代码修复了错误......
private static byte[] DecodeFrom64(string encodedData)
{
System.Text.ASCIIEncoding decoder = new ASCIIEncoding();
string returnValue = string.Empty;
byte[] encodedDataAsBytes = null;
int mod4 = encodedData.Length % 4;
try
{
if (mod4 > 0)
{
encodedData = encodedData.Trim('\0');
encodedData += new string('=', 4 - mod4);
}
encodedDataAsBytes = System.Convert.FromBase64String(encodedData);
returnValue = decoder.GetString(encodedDataAsBytes);
}
catch (Exception ex)
{
throw ex;
}
return encodedDataAsBytes;
}
现在它会抛出错误“s 的格式无效。s 包含非 base-64 字符、两个以上的填充字符或填充字符中的非空白字符。”。显然它在末尾添加了另一个填充字符以使字符串长度正确(乘以 4)。
不知道如何解决这个问题?
任何想法 ?