我正在尝试检查用户名是否为base64字符串。即使字符串是base64编码,它仍然会抛出非法异常错误消息。我在这里缺少什么?
public bool checkBase64String(string value) //value = “TWrXfr4gGTE%3d”
{
try
{
byte[] vArray = Convert.FromBase64String(value);
return true;
}
catch (FormatException ex)
{
ex.ToString();
}
return false;
}
输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充字符中的非法字符。
答案 0 :(得分:10)
输入为URL编码,尾随=
变为%3d
。在转换之前需要将其解码为TWrXfr4gGTE=
小提琴...... http://dotnetfiddle.net/S8UpdJ