Was ist der Unterschied zwischen String.prototype.codePointAt()
und String.prototype.charCodeAt()
in JavaScript?
Von Mozilla :
Die Methode charCodeAt () gibt eine Ganzzahl zwischen 0 und 65535 zurück, die die UTF-16-Codeeinheit am angegebenen Index darstellt (die UTF-16-Codeeinheit entspricht dem Unicode-Codepunkt für Codepunkte, die in einer einzelnen UTF-16-Codeeinheit dargestellt werden können) , könnte aber auch die erste Codeeinheit eines Ersatzpaars für Codepunkte sein, die in einer einzelnen UTF-16-Codeeinheit nicht darstellbar sind, z. B. Unicode-Codepunkte & gt; 0x10000). Wenn Sie den gesamten Codepunktwert verwenden möchten, verwenden Sie codePointAt ().
charCodeAt()
ist UTF-16, codePointAt()
ist Unicode.
Um ein paar für die Antwort von ToxicTeacakes hinzuzufügen, hier ein weiteres Beispiel, das Ihnen hilft, den Unterschied zu erkennen:
%Vor%Die folgenden sind die Informationen über JavaScript-String-Literale:
"\ uXXXX"
Das Unicode-Zeichen, das durch die vier Hexadezimalziffern angegeben wird XXXX. Zum Beispiel ist \ u00A9 die Unicode-Sequenz für das Copyright Symbol."\ u {XXXXX}"
Unicode-Codepunkt
entkommt. Zum Beispiel ist \ u {2F804} das gleiche wie der einfache Unicode Escapes \ uD87E \ uDC04.
Siehe auch msdn
Tags und Links javascript string codepoint