Строки JavaScript за пределами BMP

BMP существоБазовая многоязычная плоскость

В соответствии сJavaScript: хорошие части:

JavaScript был создан в то время, когда Unicode был 16-битным набором символов, поэтому все символы в JavaScript имеют ширину 16 бит.

Это наводит меня на мысль, что JavaScript использует UCS-2 (не UTF-16!) И может обрабатывать символы только до U + FFFF.

Дальнейшее расследование подтверждает это:

> String.fromCharCode(0x20001);

fromCharCode Кажется, метод использует только младшие 16 бит при возврате символа Юникода. Попытка получить U + 20001 (унифицированная идеограмма CJK 20001) вместо этого возвращает U + 0001.

Вопрос: возможно ли вообще обрабатывать символы после BMP в JavaScript?

2011-07-31: слайд двенадцать изПерестрелка поддержки Юникода:Хорошее, плохое и (в основном) уродливое охватывает вопросы, связанные с этим довольно хорошо:

Ответы на вопрос(5)

Ваш ответ на вопрос