2010-01-15 12 views

उत्तर

48
'H'.charCodeAt(0) 
+0

हाय, समाधान के लिए धन्यवाद। क्या यह केवल अंग्रेजी शब्दों के साथ काम करेगा? जब मैंने तमिल शब्द के लिए चार कोड खोजने की कोशिश की तो यह ठीक से काम नहीं कर रहा था। यदि मैं स्ट्रिंग.फॉम करकोड (2 9 74) का उपयोग करता हूं; यह चरित्र 'ஞ' देता है, वैसे ही, अगर मैं 'ஞ' का उपयोग करता हूं। charCodeAt (0) 38 हो रहा है, और यह '&' के लिए है, ऐसा क्यों है? – shanish

+0

@ शनीश: यदि आप 'स्ट्रिंग.फॉम करकोड (2 9 74) .charCodeAt (0) 'लिखते हैं तो आपको क्या मिलता है? (यह मेरे लिए काम करता है।) शायद आपका संपादक और/या स्रोत फ़ाइल यूनिकोड-अनुकूल नहीं है। –

9

उपयोग charCodeAt:

var str = 'H'; 
var charcode = str.charCodeAt(0); 
5

या अभी तक बेहतर:

function CHR(ord) 
{ 
return String.fromCharCode(ord); 
} 

function ORD(chr) 
{ 
return chr.charCodeAt(0); 
} 

तो

var mySTR = ORD(72); 

का उपयोग कर आप उन्हें एक बार से अधिक उपयोग करना चाहते हैं, और/या बहुत।

5

@ सिल्वियो का जवाब केवल 0xFFFF तक कोड बिंदुओं के लिए सच है (जो अंत में अधिकतम है जो स्ट्रिंग.फ्रोमकोडोड आउटपुट कर सकता है)। तुम हमेशा कल्पना नहीं कर सकते एक चरित्र की लंबाई एक है:

var utf16ToDig = function(s) { 
    var length = s.length; 
    var index = -1; 
    var result = ""; 
    var hex; 
    while (++index < length) { 
     hex = s.charCodeAt(index).toString(16).toUpperCase(); 
     result += ('0000' + hex).slice(-4); 
    } 
    return parseInt(result, 16); 
} 

यह का उपयोग करना::

''.length 
-> 2 

यहाँ कुछ है कि काम करता है

utf16ToDig('').toString(16) 
-> "d800df30" 

(https://mothereff.in/utf-8 से प्रेरणा)

संबंधित मुद्दे