Строки 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.

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


31.07.2011: слайд двенадцать из Выборка поддержки Unicode: Хорошее, Плохое и (в основном) Уродливое довольно хорошо освещает связанные с этим проблемы:

38
задан mplungjan 17 May 2014 в 20:37
поделиться