开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4160|回复: 16
收起左侧

[完成] JS代码怎么在易语言里面执行 btoa V8已经测试过 缺少定义

 关闭 [复制链接]
结帖率:67% (2/3)
发表于 2018-4-9 18:23:39 | 显示全部楼层 |阅读模式   北京市北京市
5精币

function test ([color=#9cd*Fe
) {

var [color=#9cd*Ft
= 'xyz@@xyz',
[color=#9cd*Fe = [color=#9cd*Fe + '',
[color=#9cd*Fn = 0,
[color=#9cd*Fi = [color=#9cd*Fe.[color=#9cd*Flength,
[color=#9cd*Fo = [color=#9cd*Ft.[color=#9cd*Flength,
[color=#9cd*Fr = '',
[color=#9cd*Fs = '';
[color=#9cd*Ft = '5a09ec890aa2eeb2ce9ea206ae78ac9e';
for (var [color=#9cd*Fc = 0; [color=#9cd*Fc < [color=#9cd*Fi; [color=#9cd*Fc++)
[color=#9cd*Fn == [color=#9cd*Fo && ([color=#9cd*Fn = 0), [color=#9cd*Fr += [color=#9cd*Ft[[color=#9cd*Fn], [color=#9cd*Fn++;
for (var [color=#9cd*Fd = 0; [color=#9cd*Fd < [color=#9cd*Fi; [color=#9cd*Fd++)
[color=#9cd*Fs = [color=#9cd*Fs + String.fromCharCode(([color=#9cd*Fe[[color=#9cd*Fd] + '').charCodeAt(0) + ([color=#9cd*Fr[[color=#9cd*Fd] + '').charCodeAt(0) % 256);
return [color=#9cd*Fwindow.btoa([color=#9cd*Fs);
}

document.write(test(0));

易语言怎么执行呢?
编码_BASE64编码  0 的编码是“MA==”
但是JS的执行结果是“ZQ==”
怎样才能得出一样的结果呢?求高手指点。。。。






最佳答案

查看完整内容

都没问题,只不过,脚本对象的计算结果有问题而已,用V8引擎就对了

点评

12楼拿源码   湖南省娄底市  发表于 2018-4-9 19:30

结帖率:100% (1/1)

签到天数: 16 天

发表于 2018-4-9 18:23:40 | 显示全部楼层   湖南省娄底市
QQ截图20180409192608.png

Js_Test.e (8.33 KB, 下载次数: 44)
回复

使用道具 举报

结帖率:100% (10/10)
发表于 2018-4-9 18:29:50 | 显示全部楼层   河南省郑州市
精易模块的 编码_BASE64编码 ()
回复

使用道具 举报

结帖率:100% (2/2)
发表于 2018-4-9 18:31:52 | 显示全部楼层   广东省惠州市
.版本 2

编码_BASE64编码 (到字节集 (编码_gb2312到utf8 (“0”)))


回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2018-4-9 18:35:36 | 显示全部楼层   北京市北京市
这个是一楼的



   function  test  (e) {

    var t =  'xyz@@xyz',
        e = e + '',
        n = 0,
        i = e.length,
        o = t.length,
        r = '',
        s = '';
        t = '5a09ec890aa2eeb2ce9ea206ae78ac9e';
    for (var c = 0; c < i; c++)
    n == o && (n = 0), r += t[n], n++;
    for (var d = 0; d < i; d++)
    s = s + String.fromCharCode((e[d] + '').charCodeAt(0) + (r[d] + '').charCodeAt(0) % 256);
    return window.btoa(s);
}


document.write(test(0));
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2018-4-9 18:36:01 | 显示全部楼层   北京市北京市
筱洛洛 发表于 2018-4-9 18:29
精易模块的 编码_BASE64编码 ()

不是想要的结果
回复

使用道具 举报

发表于 2018-4-9 18:36:26 | 显示全部楼层   广东省深圳市
一样滴,那可能是你JS不对的原因
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2018-4-9 18:36:28 | 显示全部楼层   北京市北京市
大飛 发表于 2018-4-9 18:31
.版本 2

编码_BASE64编码 (到字节集 (编码_gb2312到utf8 (“0”)))

得出的结果 和JS的不一致。
回复

使用道具 举报

发表于 2018-4-9 18:42:18 | 显示全部楼层   广东省深圳市
峰生水起之林 发表于 2018-4-9 18:36
一样滴,那可能是你JS不对的原因

测试效果

  1. var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";

  2. function encode64(input) {
  3.     input = escape(input);
  4.     var output = "";
  5.     var chr1, chr2, chr3 = "";
  6.     var enc1, enc2, enc3, enc4 = "";
  7.     var i = 0;
  8.     do {
  9.         chr1 = input.charCodeAt(i++);
  10.         chr2 = input.charCodeAt(i++);
  11.         chr3 = input.charCodeAt(i++);
  12.         enc1 = chr1 >> 2;
  13.         enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
  14.         enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
  15.         enc4 = chr3 & 63;
  16.         if (isNaN(chr2)) {
  17.             enc3 = enc4 = 64;
  18.         } else if (isNaN(chr3)) {
  19.             enc4 = 64;
  20.         }
  21.         output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
  22.         chr1 = chr2 = chr3 = "";
  23.         enc1 = enc2 = enc3 = enc4 = "";
  24.     } while (i < input.length);
  25.     return output;
  26. }

  27. function decode64(input) {
  28.     var output = "";
  29.     var chr1, chr2, chr3 = "";
  30.     var enc1, enc2, enc3, enc4 = "";
  31.     var i = 0;
  32.     var base64test = /[^A-Za-z0-9\+\/\=]/g;
  33.     if (base64test.exec(input)) {
  34.         alert("There were invalid base64 characters in the input text.\n" + "Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" + "Expect errors in decoding.");
  35.     }
  36.     input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
  37.     do {
  38.         enc1 = keyStr.indexOf(input.charAt(i++));
  39.         enc2 = keyStr.indexOf(input.charAt(i++));
  40.         enc3 = keyStr.indexOf(input.charAt(i++));
  41.         enc4 = keyStr.indexOf(input.charAt(i++));
  42.         chr1 = (enc1 << 2) | (enc2 >> 4);
  43.         chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
  44.         chr3 = ((enc3 & 3) << 6) | enc4;
  45.         output = output + String.fromCharCode(chr1);
  46.         if (enc3 != 64) {
  47.             output = output + String.fromCharCode(chr2);
  48.         }
  49.         if (enc4 != 64) {
  50.             output = output + String.fromCharCode(chr3);
  51.         }
  52.         chr1 = chr2 = chr3 = "";
  53.         enc1 = enc2 = enc3 = enc4 = "";
  54.     } while (i < input.length);
  55.     return unescape(output);
  56. }
复制代码

回复

使用道具 举报

结帖率:100% (2/2)
发表于 2018-4-9 18:45:05 | 显示全部楼层   广东省惠州市
肯定不是BASE64,BASE64编码0怎么也不会是ZQ
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表