Da JavaScript uses UCS-2 internally, String.fromCharCode(codePoint)
nicht für die zusätzlichen Unicode-Zeichen arbeiten. Wenn codePoint
ist 119558
(0x1D306
, für das ''
Zeichen), zum Beispiel.
Wenn Sie eine Zeichenfolge auf einem Codepunkt Nicht-BMP Unicode basiert erstellen möchten, können Sie Punycode.js ‚s Utility-Funktionen verwenden, um zwischen UCS-2-Strings und UTF-16-Codepunkte zu konvertieren:
// `String.fromCharCode` replacement that doesn’t make you enter the surrogate halves separately
punycode.ucs2.encode([0x1d306]); // ''
punycode.ucs2.encode([119558]); // ''
punycode.ucs2.encode([97, 98, 99]); // 'abc'
Wenn Sie den Unicode-Codepunkt für jedes Zeichen in einer Zeichenfolge abrufen möchten, müssen Sie die UCS-2-Zeichenfolge in ein Array von UTF-16-Codepunkten konvertieren (wobei jedes Ersatzpaar einen einzelnen Codepunkt bildet). Sie könnten Punycode.js ‚s Utility-Funktionen für diesen Einsatz:
punycode.ucs2.decode('abc'); // [97, 98, 99]
punycode.ucs2.decode(''); // [119558]
Nun, wäre es nicht asc(), aber uni(). Ha ha, ich bin heute morgen in guter Form :-). – paxdiablo