如何使用 C# 处理长度不正确的 Base64 字符串
How do I handle improper length Base64 strings with c#
我知道 Base64 编码文件的长度必须是 4 的倍数。为了更正这一点,我可以使用下面的代码。
int mod4 = s.Length % 4;
if (mod4 > 0)
{
s += new string('=', 4 - mod4);
}
这将添加尽可能多的“=”,使其成为 4 的倍数的长度。但我遇到了这样一种情况,即“=”符号可能会在不应该出现的情况下出现.我想我可以删除任何填充“=”,然后在需要时将它们添加回去,但这看起来很愚蠢。有没有更好的方法来处理混乱的 Base64 编码?
我猜,你正在寻找
s.TrimEnd('=');
我知道 Base64 编码文件的长度必须是 4 的倍数。为了更正这一点,我可以使用下面的代码。
int mod4 = s.Length % 4;
if (mod4 > 0)
{
s += new string('=', 4 - mod4);
}
这将添加尽可能多的“=”,使其成为 4 的倍数的长度。但我遇到了这样一种情况,即“=”符号可能会在不应该出现的情况下出现.我想我可以删除任何填充“=”,然后在需要时将它们添加回去,但这看起来很愚蠢。有没有更好的方法来处理混乱的 Base64 编码?
我猜,你正在寻找
s.TrimEnd('=');