मैं जावास्क्रिप्ट का उपयोग करके किसी वर्ण को उसके ASCII कोड में कैसे बदल सकता हूं?
उदाहरण के लिए:
"\ n" से 10 प्राप्त करें।
मैं जावास्क्रिप्ट का उपयोग करके किसी वर्ण को उसके ASCII कोड में कैसे बदल सकता हूं?
उदाहरण के लिए:
"\ n" से 10 प्राप्त करें।
जवाबों:
"\n".charCodeAt(0);
String.fromCharCode(10)
।
0
(पहले तर्क मूल्य) की आवश्यकता नहीं है - बस कर "\n".charCodeAt()
देंगे।
String.fromCharCode( asciiNumVal )
, stringInstance.charCodeAt( index )
है न वर्ग स्ट्रिंग की एक स्थिर विधि
String.prototype.charCodeAt()
स्ट्रिंग वर्णों को ASCII संख्या में बदल सकते हैं। उदाहरण के लिए:
"ABC".charCodeAt(0) // returns 65
विपरीत उपयोग के लिए String.fromCharCode(10)
जो संख्या को ASCII वर्ण के बराबर में परिवर्तित करते हैं । यह फ़ंक्शन कई नंबरों को स्वीकार कर सकता है और सभी वर्णों को जोड़ सकता है और फिर स्ट्रिंग लौटा सकता है। उदाहरण:
String.fromCharCode(65,66,67); // returns 'ABC'
यहाँ एक त्वरित ASCII वर्ण संदर्भ है:
{
"31": "", "32": " ", "33": "!", "34": "\"", "35": "#",
"36": "$", "37": "%", "38": "&", "39": "'", "40": "(",
"41": ")", "42": "*", "43": "+", "44": ",", "45": "-",
"46": ".", "47": "/", "48": "0", "49": "1", "50": "2",
"51": "3", "52": "4", "53": "5", "54": "6", "55": "7",
"56": "8", "57": "9", "58": ":", "59": ";", "60": "<",
"61": "=", "62": ">", "63": "?", "64": "@", "65": "A",
"66": "B", "67": "C", "68": "D", "69": "E", "70": "F",
"71": "G", "72": "H", "73": "I", "74": "J", "75": "K",
"76": "L", "77": "M", "78": "N", "79": "O", "80": "P",
"81": "Q", "82": "R", "83": "S", "84": "T", "85": "U",
"86": "V", "87": "W", "88": "X", "89": "Y", "90": "Z",
"91": "[", "92": "\\", "93": "]", "94": "^", "95": "_",
"96": "`", "97": "a", "98": "b", "99": "c", "100": "d",
"101": "e", "102": "f", "103": "g", "104": "h", "105": "i",
"106": "j", "107": "k", "108": "l", "109": "m", "110": "n",
"111": "o", "112": "p", "113": "q", "114": "r", "115": "s",
"116": "t", "117": "u", "118": "v", "119": "w", "120": "x",
"121": "y", "122": "z", "123": "{", "124": "|", "125": "}",
"126": "~", "127": ""
}
C:\> man ascii
देता हैBad command or file name
यदि आपके पास केवल एक चार है और एक स्ट्रिंग नहीं है, तो आप उपयोग कर सकते हैं:
'\n'.charCodeAt();
0 छोड़ कर ...
यह हालांकि धीमी है। क्रोम के वर्तमान संस्करण के साथ, यह 5 गुना धीमा है।
हालांकि अन्य उत्तर सही हैं, मैं इस तरह से पसंद करता हूं:
function ascii (a) { return a.charCodeAt(0); }
फिर, इसका उपयोग करने के लिए, बस:
var lineBreak = ascii("\n");
मैं एक छोटे शॉर्टकट सिस्टम के लिए इसका उपयोग कर रहा हूं:
$(window).keypress(function(event) {
if (event.ctrlKey && event.which == ascii("s")) {
savecontent();
}
// ...
});
और आप इसे मानचित्र () या अन्य तरीकों से भी उपयोग कर सकते हैं:
var ints = 'ergtrer'.split('').map(ascii);
const ascii = a => a.charCodeAt(0);
उन लोगों के लिए जो स्ट्रिंग के लिए सभी ASCII कोड का योग प्राप्त करना चाहते हैं:
'Foobar'
.split('')
.map(x=>x.charCodeAt(0))
.reduce((a,b)=>a+b);
या, ईएस 6:
[...'Foobar']
.map(char => char.charCodeAt(0))
.reduce((current, previous) => previous + current)
[...'Foobar'].reduce((i,s)=>s.charCodeAt(0)+i,0)
जावास्क्रिप्ट UTF-16
(डबल बाइट) के रूप में स्ट्रिंग्स को संग्रहीत करता है, इसलिए यदि आप दूसरी बाइट को अनदेखा करना चाहते हैं, तो इसे बिटवाइज़ &
ऑपरेटर 0000000011111111
(यानी 255) पर स्ट्रिप करें :
'a'.charCodeAt(0) & 255 === 97; // because 'a' = 97 0
'b'.charCodeAt(0) & 255 === 98; // because 'b' = 98 0
'✓'.charCodeAt(0) & 255 === 19; // because '✓' = 19 39
पूर्ण यूनिकोड समर्थन और उत्क्रमण सुनिश्चित करने के लिए, उपयोग करने पर विचार करें:
'\n'.codePointAt(0);
यह सुनिश्चित करेगा कि जब UTF-16 की सीमा से अधिक वर्णों का परीक्षण किया जाता है, तो आपको उनका सही कोड बिंदु मान मिलेगा।
जैसे
'𐩕'.codePointAt(0); // 68181
String.fromCodePoint(68181); // '𐩕'
'𐩕'.charCodeAt(0); // 55298
String.fromCharCode(55298); // '�'
आप एक वर्ण दर्ज कर सकते हैं और इस कोड का उपयोग करके Ascii कोड प्राप्त कर सकते हैं
उदाहरण के लिए एक चरित्र दर्ज करें जैसे कि आप अससी कोड 65 प्राप्त करें
function myFunction(){
var str=document.getElementById("id1");
if (str.value=="") {
str.focus();
return;
}
var a="ASCII Code is == > ";
document.getElementById("demo").innerHTML =a+str.value.charCodeAt(0);
}
<p>Check ASCII code</p>
<p>
Enter any character:
<input type="text" id="id1" name="text1" maxLength="1"> </br>
</p>
<button onclick="myFunction()">Get ASCII code</button>
<p id="demo" style="color:red;"></p>
ES6 से सभी UTF-16 ( गैर-बीएमपी / अनुपूरक वर्ण ) का समर्थन करने के लिए string.codePointAt () विधि उपलब्ध है;
यह विधि charCodeAt का एक उन्नत संस्करण है जो केवल यूनिकोड कोड पॉइंट <65536 (2 16 - एक एकल 16 बिट) का समर्थन कर सकता है ।
String.prototype.codePointAt()
है द्वारा समर्थित नहीं किसी भी इंटरनेट एक्सप्लोरर के संस्करणों । (हालांकि यह एज पर समर्थित है।) आप यहां एक पॉलीफिल प्राप्त कर सकते हैं ।