您的位置:首页 - 教程 - C# - 正文
C# 出现base-64 字符数组的无效长度的解决办法

最近的一个项目,在传递参数时,在Win2003上正常,在Win7下抛出“base-64 字符数组的无效长度”这样的错误

对比了一下经过Convert.ToBase64String()转换过的参数发现,+都变成了空格

于是在传递参数前,使用Replace("+", "%2B"),目标页使用Replace("%2B", "+"),这样一替换,问题就解决了



如果是WinForm的话因为TextBox 默认最大字数数为32767,如果字符编码大于这个值,输入将会截断,把TextBox 的MaxLength最大字符数改一下就可以了,例如改为0

另外:
Base64编码的长度永远是4的倍数,如果长度不是4的倍数,则非法

评论: