Conversor Unicode

Escreva o texto como sequências JavaScript \uXXXX / \u{HEX}, descodifique escapes mistos de volta para texto, e inspecione cada carácter como um ponto de código: U+ hex, decimal, bytes UTF-8, unidades UTF-16 e escapes JS. Os pontos de código astrais (emojis) nunca são divididos em metades substitutas.
Todo o processamento é feito localmente no seu navegador — os seus dados nunca são enviados para nenhum servidor.
Estilo de escape:
Codificar: o texto é dividido em pontos de código Unicode (para que os emojis fiquem intactos) e cada um é escrito como uma sequência de escape JavaScript.
Descodificar: cada sequência \uXXXX, \u{hex} ou U+hex (maiúsculas ou minúsculas) é convertida no seu carácter. Escapes de pares substitutos adjacentes são fundidos num único ponto de código. O texto sem escape passa inalterado.
Inspetor: cada ponto de código transforma-se numa linha separada por tabulações: carácter, U+HEX, decimal, bytes UTF-8, unidades UTF-16 e escape JS. A tabela inteira pode ser copiada a partir da saída ou transferida.
Ctrl+Enter na entrada executa o modo ativo.
Escolha Codificar, Descodificar ou Inspetor e execute. Todo o processamento fica no seu navegador.
Como ler as colunas do inspetor:
U+HEX é o ponto de código em hexadecimal; decimal é o mesmo número na base 10. Bytes UTF-8 mostra os um a quatro bytes que o carácter ocupa quando escrito em UTF-8 (por exemplo, 中 = E4 B8 AD). UTF-16 mostra as uma ou duas unidades de 16 bits que o carácter usa dentro de uma string JavaScript (emojis acima de U+FFFF precisam de duas unidades, um « par substituto »: por exemplo, U+1F600 = D83D DE00). Escape JS é a forma recomendada para o código-fonte do carácter.
O que o botão Exemplo carrega:
O exemplo que pertence ao modo em que está, nunca um texto fixo, porque um só texto não serve os três. Codificar e Inspetor recebem ambos caracteres simples, por isso recebem Olá 中文! 🎉 — ASCII, CJK, uma marca de largura total e um emoji. Descodificar recebe sequências de escape, e uma frase simples não tem nenhuma: seria devolvida palavra por palavra e o modo não teria nada para mostrar; por isso Descodificar recebe Diz \u4e2d\u6587 \u{1F600} U+0041 \uD83C\uDF89 OK, que contém uma forma de cada um dos formatos aceites pelo descodificador (um par \uXXXX em minúsculas, uma chaveta \u{HEX}, uma forma U+hex, um par substituto adjacente, e palavras que não são escapes). A linha abaixo das caixas indica o resultado a procurar; em Codificar, também segue o estilo de escape e a caixa ASCII, para que os outros três estilos possam ser vistos premindo Exemplo novamente.
O que é o Unicode?

O Unicode é um catálogo único que atribui a cada carácter de cada sistema de escrita um número, o seu ponto de código, de U+0000 a U+10FFFF — 1 114 112 posições possíveis organizadas em 17 planos de 65 536. O primeiro plano, o Plano Multilingue Básico (BMP), contém os caracteres da maioria das línguas vivas; a maioria dos emojis e muitos sistemas de escrita históricos vivem nos planos superiores (« astrais »).

UTF-8, UTF-16 e UTF-32 não são conjuntos de caracteres rivais, mas três maneiras de serializar esses números em bytes — o modo Inspetor mostra as três para o mesmo carácter, ao lado das formas de escape JavaScript.

O Unicode dá nomes e números aos caracteres; UTF-8/UTF-16/UTF-32 e os escapes \uXXXX são apenas maneiras diferentes de escrever os mesmos números.