Например, символ омега отображается правильно '\u03A9'
, а символ земного шара '\u1F310'
http://www.fileformat.info/info/unicode/char/1f310/index.htm — нет. Было опробовано в средах консоли и узла.
Не удается отобразить символ js unicode `\ u1F310`
Ответы (2)
'\u1F310'
Эскейпы JavaScript \u
принимают только четыре цифры, поэтому этот строковый литерал состоит из двух кодовых единиц: U+1F31 (строчная греческая буква с Dasia) и U+0030 (ноль цифр): ἱ0
.
Строки JavaScript состоят из 16-битных кодовых единиц, поэтому самой старшей отдельной кодовой единицей в JavaScript является \uFFFF
, а на символы от U+10000 и выше, лежащие за пределами базовой многоязычной плоскости, нельзя ссылаться напрямую. Чтобы получить их, вы должны использовать пару суррогатов UTF-16. Для U+1F310 это работает как '\uD83C\uDF10'
.
В ECMAScript 2015 появилась новая форма экранирования строки, которая принимает номер символа и обрабатывает все остальное за вас: '\u{1F310}'
. Это доступно в последних версиях Node, но пройдет некоторое время, прежде чем поддержка будет достаточно широко распространен в браузерах.
Печать персонажа на консоли — отдельная задача. Как говорит @MarcoS, вам нужно, чтобы ваш терминал был настроен на использование шрифта, для которого есть глиф. Вам также потребуется использовать консоль, которая понимает не-ASCII-символы и, в частности, символы не-Basic-Multilingual-Plane. (Если вы находитесь в командной строке Windows, единственный способ победить в этой игре — не играть.)
Только некоторые шрифты поддерживают символ земного шара '\u1F310'
...
Вот некоторые из них:
- Крайнее средство
- Кивира
- Пользовательский интерфейс Segoe Emoji
- Символ пользовательского интерфейса Segoe
- Символа
- Унифонт Верхний ЦСУР
См. поддержку шрифтов.