js能帮助把这几行js代码转为c#代码吗? 搞了半天,结果总是不对, 也不知道哪里出了问题,特来此求帮助

.Net技术 码拜 8年前 (2016-09-16) 1232次浏览
js代码如下:

_base1KeyStr="ABCDEFGHIJKLMDHDGSY"
function encode(a) {
    var f = "", b, c, d, e, g, n, l = 0;
    for (a = (a); l < a.length; )
        b = a.charCodeAt(l++),
        c = a.charCodeAt(l++),
        d = a.charCodeAt(l++),
        e = b >> 2,
        b = (b & 3) << 4 | c >> 4,
        g = (c & 15) << 2 | d >> 6,
        n = d & 63,
        isNaN(c) ? g = n = 64 : isNaN(d) && (n = 64),
        f = f + _base1KeyStr.charAt(e) + _base1KeyStr.charAt(b) + _base1KeyStr.charAt(g) + _base1KeyStr.charAt(n);
    return f
}
解决方案

40

假如你补齐按 base64 标准补齐 _base1KeyStr
_base1KeyStr=”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqistuvwxyz0123456789+/=”
那么你的这个代码就是 base64 编码程序
假如将 _base1KeyStr 打乱,那么就是个加密程序
翻译时只需注意到
c = a.charCodeAt(l++),
d = a.charCodeAt(l++),
在 l 等于 a.length – 1 时,c、d 都是 NaN
而 C# 会报索引越界错

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明js能帮助把这几行js代码转为c#代码吗? 搞了半天,结果总是不对, 也不知道哪里出了问题,特来此求帮助
喜欢 (0)
[1034331897@qq.com]
分享 (0)