JavaScript-这段javascript代码有没有可能转成php?

发布于 2017-09-26 19:32:52 字数 623 浏览 1535 评论 1

请问一下各位朋友,这段 JavaScript 代码有没有可能写php代码?
还有就是 $a.charCodeAt(b) 有没有对应得php方法?

function cec32($a){
    var b, c, d, e = new Array(256);
    for (b = 0; 256 > b; b++) {
        for (d = b, c = 0; 8 > c; c++) d = 1 & d ? 3988292384 ^ 2147483647 & d >> 1 : 2147483647 & d >> 1;
        e = d
    }
    for ("string" != typeof $a && ($a = "" + $a), d = 4294967295, b = 0; b < $a.length; b++) d = 16777215 & d >> 8 ^ e[255 & d ^ $a.charCodeAt(b)];
    return d ^= 4294967295, (d >> 3).toString(16)
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晚风撩人 2017-10-26 14:11:03

找到了一个php实现的方法!但不完美

function uniord($str,$from_encoding=false){
    $from_encoding=$from_encoding ? $from_encoding : 'UTF-8';
    if(strlen($str)==1) 
    return ord($str);
    $str=mb_convert_encoding($str, 'UCS-4BE', $from_encoding);
    $tmp=unpack('N',$str);
    return $tmp[1];
}

function cec32($a){
for ($b = 0; 256 > $b; $b++) {
for ($d = $b, $c = 0; 8 > $c; $c++)
$d = 1 & $d ? 3988292384 ^ 2147483647 & $d >> 1 : 2147483647 & $d >> 1;
$e[$b] = $d;
}
for ( !is_string($a) && ($a = "" + $a), $d = 4294967295, $b = 0; $b < mb_strlen($a,'utf-8'); $b++)
$d = 16777215 & $d >> 8 ^ $e[255 & $d ^ uniord(mb_substr($a,$b,1,'utf-8'))];
// 下面这行代码不知道哪里出问题,生成的字符有时候会不一致
return base_convert(($d >> 3), 10, 16);
}

各位朋友有没有更好的解决方案?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文