Conversor Unicode RTF
café vira caf\u233?: o ASCII simples continua legível, cada outro caractere vira uma palavra de controle RTF com um decimal com sinal e uma marca reserva, e escapes colados voltam a ser texto, emojis incluídos. 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
- café
- Modo de cálculo
- Encode
- Resultado
- caf\u233?
- Comprimento
- 9
- Unidades de código
- 4
- Quantidade de escapes
- 1
Arquivos Rich Text Format e fragmentos da área de transferência costumam esconder caracteres não ASCII atrás de uma palavra de controle bem característica: uma barra invertida, a letra u, um inteiro decimal com sinal e, em geral, um caractere ANSI de reserva como o ponto de interrogação. Engenheiros de suporte, especialistas em localização e desenvolvedores que colam trechos RTF em tickets precisam de um conversor que transforme texto legível nessas palavras de controle e devolva caracteres sem adivinhar valores truncados ou fora da faixa.
Como as palavras de controle RTF \uN representam Unicode
A especificação RTF define um destino Unicode que insere uma unidade de código UTF-16 para cada palavra de controle barra-u. O número após o u é um inteiro assinado de dezesseis bits em decimal: de 0 a 32767 nomeia diretamente as unidades do BMP; de −32768 a −1 nomeia a metade superior do BMP em complemento de dois, de modo que a unidade 65533 aparece como −3.
Imediatamente após os dígitos, leitores RTF ignoram um número fixo de caracteres de destino ANSI controlado por barra-uc; o padrão 1 significa que um único caractere de reserva (por exemplo um ponto de interrogação) é consumido e descartado quando o leitor entende Unicode. Por isso os escritores emitem padrões como caf mais barra-u-233 e ponto de interrogação para café, deixando letras ASCII literais para o arquivo permanecer parcialmente legível.
Caracteres fora do Plano Multilíngue Básico viram um substituto alto e um baixo como duas palavras de controle consecutivas, muitas vezes com decimais negativos nas duas metades. Esta capacidade percorre o texto por unidade UTF-16 na codificação, deixa o ASCII abaixo de 128 intacto e formata cada unidade não ASCII como barra-u, o decimal com sinal e o fallback escolhido.
Na decodificação, varre barra-u, sinal opcional e de um a cinco dígitos, valida a faixa de dezesseis bits com sinal, consome um caractere de destino quando presente e recombina pares substitutos válidos em um único escalar para que emoji façam ida e volta corretamente. Escapes truncados, dígitos ausentes e decimais fora da faixa falham com um índice claro em vez de inventar um caractere.
Casos de uso
Montar goldens de CI para escritores RTF
Codifique nomes de produto e legendas acentuadas em formas estáveis \uN? que serializadores RTF e testes de mala direta devem coincidir após atualizações de biblioteca.
Ensinar Unicode RTF de 16 bits com sinal
Mostre aos alunos que unidades altas do BMP e substitutos de emoji usam decimais negativos no RTF, diferente do hex \uXXXX do JavaScript, e depois decodifique o par de volta a um único caractere.
Perguntas frequentes
Como os escapes Unicode RTF diferem do \uXXXX do JavaScript?
O RTF usa um decimal com sinal após \u (por exemplo \u233? para é) e um caractere ANSI de reserva de um caractere.
Como codifico texto na forma RTF \uN?
Envie text com mode encode (o padrão). O ASCII permanece literal; cada unidade UTF-16 não ASCII vira \u mais um decimal com sinal mais o caractere de reserva (padrão ?).
Como decodifico palavras de controle Unicode RTF?
Envie a string escapada com mode decode. Sequências \uN bem formadas viram caracteres; um caractere de destino após cada número é consumido quando presente; pares substitutos se recombinam em emoji e outros escalares fora do BMP.
Por que alguns códigos Unicode do RTF são negativos?
O RTF escreve cada código como um número de 16 bits com sinal. Valores até 32767 aparecem como são e os maiores viram negativos, então o caractere 65533 é escrito como -3. O conversor aplica e desfaz essa regra para você.
Como os emojis ficam no RTF?
Um emoji fica fora do plano básico do Unicode, então vira duas palavras de controle seguidas, uma para cada metade do par, muitas vezes com números negativos. Na decodificação, a ferramenta junta as duas metades de novo em um único caractere.
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/rtf-unicode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"café"}'const res = await fetch("https://api.kit.forhosting.com/enc/rtf-unicode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rtf-unicode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rtf-unicode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rtf-unicode", 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": "café"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rtf_unicode",
"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
Diferente dos escapes hexadecimais de JavaScript ou JSON (barra-u e quatro dígitos hex), o RTF guarda a unidade de código UTF-16 como número decimal que pode ser negativo quando a unidade passa de 32767: assim, é vira barra-u-233 e ponto de interrogação, e os substitutos altos de emoji formam pares negativos. A ferramenta gratuita do navegador e a API paga compartilham um núcleo determinístico, de modo que demos, checagens de CI e webhooks ao vivo batem no preço publicado de US$ 0,002 por item bem-sucedido.
Como as palavras de controle RTF \uN representam Unicode
Esse desenho é completamente diferente dos escapes de quatro dígitos hex de Java ou JSON, embora ambos comecem com barra-u; por isso quem busca conversão Unicode RTF precisa de uma página dedicada, não só de uma ferramenta hex.
O que voce envia e o que recebe de volta
Envie um campo de string obrigatório chamado text e um campo opcional mode com encode ou decode. Encode transforma unidades não ASCII em escapes RTF contíguos mantendo o ASCII legível: café vira caf mais barra-u-233 e ponto de interrogação, e uma string com emoji gera duas palavras de controle com sinal para o par substituto. Decode inverte o processo: substitui cada barra-u decimal bem formado pela unidade de código correspondente, remove o caractere de destino de um caractere quando presente, mantém literais que nunca foram escapados e recombina pares alto-baixo em um só caractere. Falhas de validação não consomem saldo pré-pago. Quando mode é omitido, encode é o padrão e um único payload ainda faz trabalho útil. Respostas de sucesso ecoam mode, text e fallback, devolvem result como string principal de saída e incluem length, code_units das unidades UTF-16 processadas, escape_count de quantas palavras de controle foram produzidas ou consumidas, um rótulo de formato no estilo barra-u-N-ponto-de-interrogação e uma nota curta nomeando as palavras de controle Unicode RTF. Falta de text, valores de mode não suportados, strings maiores que o máximo documentado, fallback com mais de um caractere, números truncados após barra-u, corpos sem dígitos e valores com sinal fora da faixa falham com invalid_input e uma mensagem em inglês que cita o campo ou o índice. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item.
Onde a conversão Unicode RTF aparece no trabalho real
Equipes de migração de documentos extraem malas diretas .rtf legadas e tópicos de sistemas de ajuda que ainda carregam nomes de produto com acentos codificados como palavras de controle decimais; decodificar esses trechos para Unicode simples acelera a revisão sem abrir um processador de texto completo. O QA de localização compara uma string RTF exportada com uma entrada de memória de tradução codificando a frase esperada e afirmando palavras de controle estáveis após uma atualização de biblioteca. Se voce precisa de escapes de quatro dígitos hex no estilo JavaScript, listas brutas de pontos de código U-plus, codificação percentual de URL ou entidades nomeadas HTML, trate-os como intenções de busca e páginas separadas — essas ferramentas respondem a consultas diferentes mesmo quando o percurso de strings subjacente é curto. Pontes de área de transferência entre controles rich-edit antigos do Windows e aplicativos web modernos costumam deixar sequências barra-u em logs JSON intermediários; a equipe de suporte cola o fragmento em um escapador Unicode RTF dedicado em vez de calcular à mão o complemento de dois de cada unidade acima de 32767. Como esta capacidade é um motor de parse puro, o preço da API permanece na base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.
Casos de integração
Decodificar área de transferência RTF e fragmentos .rtf
Cole um trecho de rich text cheio de palavras de controle decimais barra-u, decodifique para Unicode legível e re-codifique um fixture corrigido para a próxima exportação.
Perguntas técnicas
O que acontece com um escape RTF malformado?
A tarefa falha com invalid_input e uma mensagem que cita o índice ou o problema (dígitos ausentes, valor com sinal fora da faixa, corpo truncado). Falhas de validação não são cobradas.
Quanto custa o conversor Unicode RTF?
A ferramenta do navegador é gratuita. Solicitações API usam saldo pré-pago do KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.