Conversor de code points Unicode
Digite Hi e receba U+0048 U+0069, um code point por caractere, e um emoji fica como um único valor, por exemplo U+1F600, em vez de duas metades quebradas. Cole uma lista de códigos U+ para voltar ao texto. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Hi
- Modo de cálculo
- To codepoints
- Resultado
- U+0048 U+0069
- Code points
- U+0048, U+0069
- Valores
- 72, 105
- Quantidade
- 2
O Unicode atribui a cada caractere um valor escalar unico, escrito na conhecida notacao U+ hexadecimal, das letras latinas basicas como U+0041 para o A maiusculo ate emoji e escritas historicas que precisam de cinco ou seis digitos hex. Desenvolvedores, engenheiros de fontes, equipes de localizacao e suporte precisam constantemente expandir uma string curta nesses code points para depuracao, documentacao ou formatos de transmissao, e com a mesma frequencia precisam remontar uma lista de tokens U+ nos glifos originais.
Como os escalares Unicode mapeiam para tokens U+XXXX
O Unicode define um espaco de valores escalares de zero a U+10FFFF. Nem todo inteiro nesse intervalo e um caractere que as pessoas digitam todo dia, mas todo caractere abstrato que voce armazena em texto moderno e identificado por um desses escalares. Strings JavaScript sao sequencias de unidades de codigo UTF-16, entao um unico emoji ou ideograma CJK raro pode ocupar duas unidades chamadas par de surrogates.
Um conversor correto precisa, portanto, usar iteracao por code points em vez de indexar uma unidade por vez; caso contrario, um rosto sorridente seria relatado como dois surrogates alto e baixo separados em vez de um unico escalar como U+1F600. Esta capacidade percorre a string com codePointAt, avanca uma ou duas unidades conforme necessario e formata cada escalar como U+ seguido de pelo menos quatro digitos hexadecimais maiusculos, estendendo para cinco ou seis digitos quando o valor exige.
O caminho inverso aceita varias grafias comuns para que as fontes coladas fiquem flexiveis: U+0048, u+48, 0x48, hex simples como 0048 e formas HTML como H ou decimal H. Cada token e convertido em um inteiro e depois validado: valores acima de U+10FFFF sao rejeitados, e o intervalo de surrogates UTF-16 de U+D800 a U+DFFF e rejeitado porque essas unidades de codigo nao sao valores escalares Unicode e nunca devem aparecer como caracteres isolados em uma string Unicode bem formada.
Escalares validos sao montados com fromCodePoint em uma string JavaScript normal.
Onde a conversao de code points Unicode aparece no trabalho real
Pipelines de fontes e glifos documentam quais escalares uma familia cobre e precisam de listas U+ estaveis em folhas de especime e diffs de pull requests. Engenheiros de internacionalizacao comparam formas normalizadas, caçam semelhantes confundiveis e verificam que o nome de um produto nao esconde um homoglifo expandindo cada caractere ao seu code point. Equipes de acessibilidade e conteudo colam strings curtas de ferramentas de design e precisam de uma expansao autoritativa quando um glifo renderiza como uma caixa ou um emoji inesperado.
Revisores de seguranca inspecionam nomes de usuarios, URLs e linhas de log atras de caracteres de controle nao ASCII ou escalares de uso privado que escapam de filtros ingenuos. Cursos de programacao ensinam codificacao mostrando que um unico caractere visivel pode mapear para um escalar enquanto UTF-8 pode usar varios bytes; uma pagina dedicada de conversor atende melhor essa intencao de busca do que enterra-la sob ferramentas de Base64 ou reparo de UTF-8.
Equipes de suporte recebem capturas de tela com simbolos estranhos e reconstroem os code points exatos a partir de uma amostra digitada ou copiada para que a engenharia reproduza o bug. Se voce precisa de segredos Base32, percent-encoding para URLs, dumps octais de bytes ou reparo de mojibake para UTF-8, trate-os como intencoes de busca e paginas separadas em vez de sobrecarregar esta pagina de conversor de code points Unicode.
Casos de uso
Depurar emoji e caracteres multi-byte
Expanda uma string curta em tokens U+XXXX para que pares de surrogates aparecam como um unico escalar, e depois reconstrua o texto original apos editar a lista.
Checklists de localizacao e cobertura de fontes
Produza inventarios estaveis de code points para nomes de produtos, strings de especime e tabelas de cobertura de glifos compartilhadas entre design e engenharia.
Triagem de seguranca e suporte
Revele caracteres ocultos ou confundiveis em nomes de usuario e tickets listando os escalares Unicode exatos, sem adivinhar a partir de uma captura de tela.
Perguntas frequentes
Que notacao este conversor usa?
A notacao padrao Unicode U+XXXX com pelo menos quatro digitos hex maiusculos (mais quando necessario). A entrada tambem aceita 0xHH, hex simples e formas HTML &#x…; / &#…; ao converter de volta em caracteres.
O que acontece com um code point invalido?
Surrogates (U+D800–U+DFFF), valores acima de U+10FFFF e tokens malformados sao rejeitados com mensagem clara. Falhas de validacao nao sao cobradas.
Ele lida corretamente com emoji e pares de surrogates?
Sim. A iteracao usa code points Unicode completos, entao um unico emoji e um escalar (por exemplo U+1F600), nao duas unidades UTF-16.
Quanto custa?
A ferramenta do navegador e gratuita e roda localmente.
Quais formatos posso colar para recuperar os caracteres?
Funcionam U+0048, u+48, 0x48, hexadecimal solto como 0048 e as referências HTML H ou H. Valores acima de U+10FFFF e a faixa de surrogates são recusados, para não inventar um caractere errado.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/unicode-codepoint \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi"}'const res = await fetch("https://api.kit.forhosting.com/enc/unicode-codepoint", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hi"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/unicode-codepoint",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hi"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/unicode-codepoint", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hi"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hi"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/unicode-codepoint", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Hi"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.unicode_codepoint",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Esta capacidade faz as duas direcoes com uma unica funcao pura: to_codepoints percorre a entrada com plena consciencia de code points para que pares de surrogates virem um unico escalar, e to_chars interpreta U+, 0x, hex simples e referencias numericas HTML, rejeitando surrogates e valores acima de U+10FFFF. Tokens invalidos falham imediatamente com invalid_input para que colagens ruins nunca inventem um caractere errado.
Como os escalares Unicode mapeiam para tokens U+XXXX
Todo o caminho e trabalho deterministico de inteiros e strings, sem chamadas de rede, sem sementes aleatorias e sem carimbos de relogio, entao entradas identicas sempre produzem JSON identico.
O que voce envia e o que recebe de volta
O separator opcional controla como os tokens sao unidos na saida e divididos na entrada: espaco e o padrao, com virgula, quebra de linha e none disponiveis para listas mais densas ou orientadas a linhas. No modo none, cada token precisa carregar um prefixo explicito U+, 0x ou HTML para que os limites fiquem inequivocos. Respostas de sucesso ecoam mode, o text original, uma string result, um array codepoints de tokens U+ normalizados, um array numerico values de inteiros, uma contagem de escalares count, o separator usado, um rotulo format e uma referencia curta ao padrao. Falhas de validacao nao consomem saldo pre-pago. Envie um campo de string obrigatorio chamado text e um campo mode opcional definido como to_codepoints ou to_chars. Quando mode e omitido, to_codepoints e o padrao, entao um unico payload ainda faz trabalho util. To_codepoints transforma Hi em U+0048 U+0069 com arrays correspondentes; to_chars reverte essa lista de volta para Hi. Text ausente, valores de mode nao suportados, strings acima do maximo documentado, tokens vazios ilegais, lixo nao hexadecimal, code points surrogates e escalares acima de U+10FFFF falham com invalid_input e uma mensagem clara em ingles nomeando o problema. O preco das chamadas de API bem-sucedidas e a base publicada de US$ 0,002 por item.
Onde a conversao de code points Unicode aparece no trabalho real
Como esta capacidade e um motor puro de parse, o preco da API e a base publicada de US$ 0,002 por item bem-sucedido e a validacao malsucedida nao consome saldo.
Perguntas técnicas
Posso converter nas duas direcoes?
Sim. Defina mode como to_codepoints (padrao) para mapear caracteres em tokens U+, ou mode como to_chars para interpretar tokens de code points de volta em uma string.