0

Например, символ омеги отображается правильно '\u03A9', но символ земного шара '\u1F310'http://www.fileformat.info/info/unicode/char/1f310/index.htm - нет. Был примерил консольных и узлов средыНевозможно отобразить символ юникода js ` u1F310`

+1

Прочтите это https://mathiasbynens.be/notes/javascript-unicode – jcubic

ответ

2
'\u1F310' 

JavaScript \u ускользает только принять четыре цифры, так что эта строка литерала два кодовых единицы, U + 1F31 (греческая строчная буква С Дасией) и U + 0030 (Digit Zero) : ἱ0.

Строки из JavaScript состоят из 16-разрядных кодовых блоков, поэтому самый высокий единый код в JavaScript составляет \uFFFF, а символы от U + 10000 вверх, лежащие вне базовой многоязычной плоскости, не могут быть указаны напрямую. Чтобы получить их, вы должны использовать пару UTF-16 surrogates. Для U + 1F310, который работает как '\uD83C\uDF10'.

В ECMAScript 2015 есть новая форма отмены строки, которая берет номер символа и выдает остальное для вас: '\u{1F310}'. Это available в последних версиях Node, но через некоторое время поддержка будет широко распространена в браузерах.

Печать символа на консоль - отдельная задача. Поскольку @MarcoS говорит, что вам понадобится ваш терминал для установки шрифта с глифом для него. Вам также понадобится использовать консоль, которая понимает символы, отличные от ASCII и, в частности, символы, отличные от Basic-Multilingual-Plane. (Если вы находитесь в командной строке Windows, единственный способ выиграть эту игру - не играть.)

+0

Так что шрифты из ответа @MarcoS не важно? – AuthorProxy

+0

Вам наверняка понадобится установить шрифт с символом для этого символа, если вы хотите просмотреть его на месте. (Если вы просто хотите вывести его для копирования-вставки в другое место, вы можете сделать это без шрифта.) – bobince

1

только некоторые шрифты поддерживают символ глобуса '\u1F310' ...
Некоторые из них являются:

  • LastResort
  • Quivira
  • Segoe UI Emoji
  • Segoe UI Символ
  • Символа
  • Unifont Upper CSUR

См fontsupport

Смежные вопросы