Strings JavaScript fora do BMP

Sendo BMPPlano multilíngue básico

De acordo comJavaScript: as boas partes:

O JavaScript foi criado no momento em que Unicode era um conjunto de caracteres de 16 bits, portanto, todos os caracteres em JavaScript têm 16 bits de largura.

Isso me leva a crer que o JavaScript usa UCS-2 (não UTF-16!) E pode lidar apenas com caracteres de até U + FFFF.

Investigações adicionais confirmam isso:

> String.fromCharCode(0x20001);

ofromCharCode O método parece usar apenas os 16 bits mais baixos ao retornar o caractere Unicode. Tentar obter U + 20001 (ideógrafo unificado CJK 20001) retorna U + 0001.

Pergunta: é possível manipular caracteres pós-BMP em JavaScript?

31-07-2011: slide doze deTiroteio de Suporte Unicode:Os bons, os maus e os (principalmente) feios aborda questões relacionadas a isso muito bem:

questionAnswers(5)

yourAnswerToTheQuestion