Cadenas de JavaScript fuera del BMP

BMP siendoPlano Bilingüe Multilingüe

De acuerdo aJavaScript: las partes buenas:

JavaScript se creó en un momento en que Unicode era un conjunto de caracteres de 16 bits, por lo que todos los caracteres en JavaScript tienen 16 bits de ancho.

Esto me lleva a creer que JavaScript usa UCS-2 (¡no UTF-16!) Y solo puede manejar caracteres hasta U + FFFF.

La investigación adicional confirma esto:

> String.fromCharCode(0x20001);

losfromCharCode parece que el método solo usa los 16 bits más bajos al devolver el carácter Unicode. Intentar obtener U + 20001 (ideógrafo unificado CJK 20001) en su lugar devuelve U + 0001.

Pregunta: ¿es posible manejar caracteres posteriores a BMP en JavaScript?

2011-07-31: diapositiva doce deTiroteo de soporte Unicode:Lo bueno, lo malo y lo (principalmente) feo cubre temas relacionados con esto bastante bien:

Respuestas a la pregunta(5)

Su respuesta a la pregunta