Hướng dẫn dùng chr 34 trong PHP

Tôi đã sử dụng toán tử bitwise trong mã php trả về chuỗi giải mã trong base64. Tôi muốn triển khai mã php đó giống như trong javascript. Theo kiến ​​thức của tôi chr()tương đương với String.fromCharCode(n)ord()hiện tại n.charCodeAt(0). Nhưng cả hai sản lượng cuối cùng đều khác nhau.

Mã PHP: -

> 1) & 0xFF);
    $b2=($chr << (8 - 1));
     $en = $en.chr( $b1|$b2 );
}
$en = base64_encode($en); //Output:- )º;¢:9ª:›³°")š"º3º¡4²
echo ($en);
echo (base64_decode($en)); //Output:- Kbo7ojo5qjqbGrOwIimaIrozuqE0sg==

Trong mã Javascript: -

var pass = "RuvEtrUt74gaDR5DufuChe";
var en = "";
var passArr = pass.split('');
for (var i = 0; i < passArr.length; i++) {
    var b1 = (((passArr[i] = passArr[i].charCodeAt(0)) >> 1) & 0xFF);
    var b2 = (passArr[i] << (8 - 1));
    en += chr(b1 | b2);
}
console.log('en',en);//Output:- ⤩㪺㬻⊢㨺㤹⪪㨺ᮛᨚ㎳グ∢⤩᪚∢㪺㌳㪺↡㐴㊲
en = window.btoa(unescape(encodeURIComponent(en)));
console.log('en', en);//Output:- 4qSp46q646y74oqi46i646S54qqq46i64a6b4aia446z44Kw4oii4qSp4aqa4oii46q644yz46q64oah45C044qy
                     //need same as in php i.e, :- Kbo7ojo5qjqbGrOwIimaIrozuqE0sg==
function chr(codePt) {
    if (codePt > 0xFFFF) {
        codePt -= 0x10000
        return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF))
    }
    return String.fromCharCode(codePt)
}

Như bạn có thể thấy ở trên đầu ra javscript khác với đầu ra php. Tôi cần đầu ra chính xác trong javascript trả về mã php. Cảm ơn

23 hữu ích 0 bình luận 24k xem chia sẻ