Вставить символ Юникода в JavaScript

Мне нужно вставить Омега (Ω) на мою HTML-страницу. Я использую его HTML-код, чтобы сделать это, поэтому я могу написатьΩ и получить Ω, Тот'все хорошо, когда я помещаю это в элемент HTML; однако, когда я пытаюсь поместить его в мой JS, например,var Omega = Ω, он анализирует этот код как JS, и все это нет работа. Кто-нибудь знает, как это сделать?

 Bluefire26 окт. 2012 г., 21:26
Блокнот нене принять это, он просто пишет O: P
 Heretic Monkey26 окт. 2012 г., 21:24
var Omega = "Ω"; слишком просто?
 Bluefire26 окт. 2012 г., 21:43
@MikeMcCaughan Я имел в виду Блокнот ++
 Heretic Monkey26 окт. 2012 г., 21:46
@Bluefire, Notepad ++ прекрасно с этим справится, вам просто нужно изменить кодировку в меню на UTF-8 или UCS-2.
 Samuel Rossille26 окт. 2012 г., 21:28
@MikeMcCaughan Да, но если другой разработчик испортит кодировку исходного файла, вы проиграли ... У вас всегда будет кто-то сказать "OOOOps я не знал, что <заполнитель для программного обеспечения> использует CP1250 в качестве кодировки по умолчанию, и я не заметил этого небольшого изменения при фиксации " или же "символьный код-что? знак равно
 Samuel Rossille26 окт. 2012 г., 21:31
@Bluefire переключиться на лучший текстовый редактор, который поддерживает настройку кодировки символов (например, блокнот ++) и установить его в UTF-8. Тогда вы можете написать chineese в вашем исходном коде, если хотите ... Или остаться в категории чел, на который нацелен мой первый комментарий; =)en.wikipedia.org/wiki/Character_encoding
 Heretic Monkey26 окт. 2012 г., 21:35
@SamuelRossille; слишком верно, я забыл, что мы должны увеличить сложность кода, чтобы обойти недостаток знаний о инструментах. Я скопировал и вставил свой комментарий в Блокнот (на Win7, заметьте), и он работал нормально. Вы можете установить кодировку, как вы правильно отметили.
 basher13 янв. 2016 г., 21:55
@SamuelRossille Я делал это для себя не раз :( Не уверен, что это был мой просмотрщик различий или какой-то случайный текстовый редактор. Полностью убил и мою историю SVN Blame, когда я это сделал.
 StanE27 нояб. 2017 г., 03:39
Придерживайтесь того, что писал @SamuelRossille: используйте только экранированные символы Юникода. Они находятся в простом ACSII и могут открываться / редактироваться в любом редакторе, командной строке, отправляться с любым протоколом и т. Д.самый безопасный способ. Если у вас много текста в Юникоде, вы можете использовать такой инструмент, какmothereff.in/js-escapes экранировать текст в Unicode перед вставкой в файл.

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

Решение Вопроса

Я предполагаю, что вы действительно хотитеOmega бытьстрока, содержащая прописные омега? В этом случае вы можете написать:

var Omega = '\u03A9';

(Потому что Ω являетсясимвол Unicode с кодовой точкой U + 03A9; то есть,03A9 является937, кроме записанных в виде четырех шестнадцатеричных цифр.)

 StanE27 нояб. 2017 г., 03:47
И если кто-то хочет узнать, каково шестнадцатеричное значение для строки Unicode:mothereff.in/js-escapes

но ты неТ нужно объявить переменную. Строка может содержать вашего персонажа:

"This string contains omega, that looks like this: \u03A9"

К сожалению, все же эти коды в ASCII необходимы для отображения UTF-8, но я все еще жду (так как слишком много лет ...) день, когда UTF-8 будет таким же, как ASCII, и ASCII будет просто воспоминанием о прошлое.

 User that is not a user14 окт. 2017 г., 02:44
Emoji делает эти коды еще труднее набирать! знак равно\u{1F641}🙁

я добавлю несколько альтернатив для полноты:

Вы могли бы на самом деле использовать дажеvar Omega = 'Ω' в JavaScript, но только если ваш код JavaScript:

внутри атрибута события, как вonclick="var Omega = 'Ω'; alert(Omega)" или жевscript элемент внутри документа XHTML (или XHTML + XML), обслуживаемый типом содержимого XML.

В этих случаях код будет первым (перед передачей в интерпретатор JavaScript) анализироваться анализатором HTML, чтобы ссылки на символы, такие какΩ признаны. Ограничения делают это непрактичным подходом в большинстве случаев.

Вы также можете ввести Ω характер как таковой, как вvar Omega = 'Ω', но тогда кодирование символов должно позволять это, кодировка должна быть правильно объявлена, и вам нужно программное обеспечение, которое позволит вам вводить такие символы. Это чистое решение, и оно вполне выполнимо, если вы используете кодировку UTF-8 для всего и готовы решать возникающие проблемы. Исходный код будет читабельным, и, прочитав его, вы сразу увидите сам символ, а не кодовые обозначения. С другой стороны, это может вызвать сюрпризы, если другие люди начнут работать с вашим кодом.

С использованием\u обозначение, как вvar Omega = '\u03A9'работает независимо от кодировки символов и практически универсален. Однако он может быть использован как таковой только до U + FFFF, то есть до\uffff, но большинство персонажей, о которых большинство людей когда-либо слышали, попадают в эту область. (Если тебе надо "выше» символов, вам нужно использовать либо суррогатные пары, либо один из двух подходов, описанных выше.)

Вы также можете создать персонажа, используяString.fromCharCode() метод, передавая в качестве параметра номер Unicode, в десятичном виде, как вvar Omega = String.fromCharCode(937) или в шестнадцатеричном, как вvar Omega = String.fromCharCode(0x3A9), Это работает до U + FFFF. Этот подход можно использовать, даже если у вас есть номер Unicode в переменной.

 tarekahf14 мая 2018 г., 19:34
Как вы можете вставитьоткрыть замок персонаж '\ UD83D \ uDD13' используя один код, который0x1F512' в JavaScript? И зачем нам два кода для вставки одного символа?
 Marten Koetsier12 апр. 2018 г., 12:19
@Userthatisnotauser итот должен быть принятый ответ!
 User that is not a user17 июл. 2018 г., 03:26
@tarekahf Здесь 'короткий урок по юникоду. UTF-16 охватывает только точки Unicode от U + 0000 до U + FFFF. Затем Unicode вырос, и были изобретены суррогаты, чтобы UTF-16 мог получить доступ к этим точкам. Но JavaScript может просто сделать это сейчас:var lock = '\u{1F512}' И вы получите это:🔓
 User that is not a user14 окт. 2017 г., 02:40
Времена изменились, через 5 лет люди используют эти вещи под названием "смайлики» внеU+FFFF спектр. JavaScript тоже, так что вы можете сделать это.var poop = '\u{1F4A9}';

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