2016-10-18 8 views
6

में समतुल्य php chr() और ord() फ़ंक्शंस क्या है, मैंने php कोड में bitwise ऑपरेटर का उपयोग किया है जो बेस 64 में डीकोड स्ट्रिंग को वापस करता है। मैं उस PHP कोड को जावास्क्रिप्ट के समान ही कार्यान्वित करना चाहता हूं। मेरे ज्ञान के अनुसार chr()String.fromCharCode(n) और ord() के समतुल्य n.charCodeAt(0) है। लेकिन दोनों अंतिम आउटपुट भिन्न हैं।जावास्क्रिप्ट

PHP कोड: -

<?php 
$pass = "RuvEtrUt74gaDR5DufuChe"; 
$en = ""; 
foreach(str_split($pass) as $chr){ 
    $b1=((($chr = ord($chr)) >> 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== 

जावास्क्रिप्ट कोड में: -

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) 
} 

आप Javscript उत्पादन ऊपर देख सकते हैं php उत्पादन से मतभेद है। मुझे जावास्क्रिप्ट में सटीक आउटपुट की आवश्यकता है जो PHP कोड में वापस आती है। धन्यवाद

उत्तर

4
var res = String.fromCharCode(65); 

इस समारोह में अच्छी तरह से() फ़ंक्शन जावास्क्रिप्ट

0
function myFunction() { 
var str = "HELLO WORLD"; 
var n = str.charCodeAt(0); 
    document.getElementById("demo").innerHTML = n; 
} 

में और ord के लिए (रिटर्न charecter) php में chr के रूप में ही काम किया समारोह

ऊपर उपयोग कर सकते हैं
संबंधित मुद्दे