C# FromBase64String的问题

使用FromBase64String出现报错,提示说“Base-64字符数组的无效长度”,百度后知道是参数的长度等于4或4的偶数倍数。请教下如何将原始加密字符“1+LKt... 使用FromBase64String出现报错,提示说“Base-64 字符数组的无效长度”,百度后知道是参数的长度等于4或4的偶数倍数。

请教下如何将原始加密字符“1+LKtQAIAABhDwAAAgEqoA4TBgdB04cZDJ0wJQ”进行转换,使用其他转换工具可以转换出对应的ASCII为“租实”,对应的HEX为D7E2CAB500080000610F000002012AA00E13060741D387190C9D3025
看上去很接近了,不过位数不同?我在value后添加8个"=",刚好长度等于48,是4的12倍,符合条件,但转换,但会报错Base-64 字符数组的无效长度。可以请教下是什么原因造成的吗?
展开
 我来答
然后去远足
推荐于2016-07-17 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2446万
展开全部

你这怎么可能是 ASCII?这一定是 GB2312 啊。

public static string Base64Decode(string value)
{
    while (value.Length % 4 != 0)
    {
        value += "=";
    }
    return Encoding.GetEncoding("gb2312").GetString(Convert.FromBase64String(value));
}

System.Convert 下的 BASE64 转换方法是标准 BASE64 方法,不足位会用“=”补齐。

追问
  朋友你好,我用你的方法转换后的结果D7E2CAB5080061F00212AA0E136741D38719C9D3025
  正确的值应该是D7E2CAB500080000610F000002012AA00E13060741D387190C9D3025
还有部分消息补充在上面,追问字数有限制,比较乱,见谅
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式