String.fromCharCode (72) gibt H. Wie bekomme ich die Nummer 72 von char H?Wie String.fromCharCode umzukehren?
35
A
Antwort
48
'H'.charCodeAt(0)
9
Verwendung charCodeAt:
var str = 'H';
var charcode = str.charCodeAt(0);
5
Oder noch besser:
function CHR(ord)
{
return String.fromCharCode(ord);
}
function ORD(chr)
{
return chr.charCodeAt(0);
}
dann
var mySTR = ORD(72);
verwenden, wenn Sie sie mehr als einmal verwendet werden soll, und/oder viel.
5
@ Die Antwort von Silvio gilt nur für Codepunkte bis zu 0xFFFF (was am Ende das Maximum ist, das String.fromCharCode ausgeben kann).
''.length
-> 2
etwas hier, das funktioniert:
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);
}
Mit ihm: Sie können die Länge eines Zeichens ist man nicht immer davon ausgehen,
utf16ToDig('').toString(16)
-> "d800df30"
(Inspiration von https://mothereff.in/utf-8)
Hallo, danke für die Lösung. Wird es nur mit englischen Wörtern funktionieren? Als ich versuchte, den Zeichencode für ein Tamilwort zu finden, funktionierte es nicht richtig. Wenn ich String.fromCharCode (2974) verwende; es gibt das Zeichen 'ஞ' auf die gleiche Weise zurück, wenn ich 'ஞ' benutze. charCodeAt (0) bekomme 38, und das ist für '&', warum ist es so? – shanish
@shanish: Was bekommen Sie, wenn Sie 'String.fromCharCode (2974) .charCodeAt (0)' schreiben? (Es funktioniert für mich.) Vielleicht sind Ihr Editor und/oder Ihre Quelldatei nicht Unicode-freundlich. –