Preciso inserir um Omega (Ω) na minha página html. Estou usando seu código de escape HTML para fazer isso, para que eu possa escrever Ω
e obter Ω. Tudo bem quando coloco em um elemento HTML; no entanto, quando tento colocá-lo no meu JS, por exemplo var Omega = Ω
, ele analisa esse código como JS e a coisa toda não funciona. Alguém sabe como fazer isso?
javascript
html
unicode
Fogo azul
fonte
fonte
var Omega = "Ω";
tão simples?Respostas:
Eu estou supondo que você realmente quer
Omega
ser uma string contendo um ômega maiúsculo? Nesse caso, você pode escrever:(Como Ω é o caractere Unicode com o ponto de código U + 03A9 ; ou
03A9
seja937
, exceto escrito como quatro dígitos hexadecimais.)fonte
Embora o @ruakh tenha dado uma boa resposta, vou adicionar algumas alternativas para a integridade:
Na verdade, você poderia usar mesmo
var Omega = 'Ω'
em JavaScript, mas apenas se o seu código JavaScript for:onclick="var Omega = 'Ω'; alert(Omega)"
ouscript
elemento dentro de um documento XHTML (ou XHTML + XML) servido com um tipo de conteúdo XML.Nesses casos, o código será analisado primeiro (antes de passar para o intérprete JavaScript) por um analisador HTML, para que as referências de caracteres como
Ω
sejam reconhecidas. As restrições tornam essa abordagem impraticável na maioria dos casos.Você também pode inserir o caractere as como tal, como em
var Omega = 'Ω'
, mas a codificação de caracteres deve permitir isso, a codificação deve ser declarada corretamente e você precisa de um software que permita inserir esses caracteres. Essa é uma solução limpa e bastante viável se você usar a codificação UTF-8 para tudo e estiver preparado para lidar com os problemas criados por ela. O código-fonte será legível e, lendo-o, você verá imediatamente o próprio caractere, em vez de notações de código. Por outro lado, pode causar surpresas se outras pessoas começarem a trabalhar com seu código.Usar a
\u
notação, como emvar Omega = '\u03A9'
, funciona independentemente da codificação de caracteres, e na prática é quase universal. No entanto, pode ser usado apenas até U + FFFF, ou seja, até\uffff
, mas a maioria dos personagens que a maioria das pessoas já ouviu falar se encaixa nessa área. (Se você precisar de caracteres "mais altos", precisará usar pares substitutos ou uma das duas abordagens acima).Você também pode construir um caractere usando o
String.fromCharCode()
método, passando como parâmetro o número Unicode, em decimal como emvar Omega = String.fromCharCode(937)
ou em hexadecimal como emvar Omega = String.fromCharCode(0x3A9)
. Isso funciona até U + FFFF. Essa abordagem pode ser usada mesmo quando você tem o número Unicode em uma variável.fonte
U+FFFF
intervalo. O JavaScript também tem, então você pode fazer isso.var poop = '\u{1F4A9}';
var lock = '\u{1F512}'
E você obtém o seguinte: 🔓A resposta está correta, mas você não precisa declarar uma variável. Uma string pode conter seu personagem:
Infelizmente ainda são necessários esses códigos em ASCII para exibir UTF-8, mas ainda estou aguardando (há muitos anos ...) o dia em que UTF-8 será o mesmo que ASCII e ASCII será apenas uma lembrança do passado.
fonte
\u{1F641}
= 🙁