ForHosting KIT · Ferramentas para dev

Escapador de strings C

Uma aspa, uma barra invertida ou uma quebra de linha soltas quebram uma string em C; a ferramenta transforma Hello "world", uma quebra de linha e line 2 em Hello \"world\"\nline 2, pronto para colar no código. Também desfaz escapes e para nos malformados. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Texto
Hello "world" line 2
Modo de cálculo
Escape
Aspas
Double
Você obtém
Resultado
Hello \"world\"\nline 2
Comprimento
23
Literal
"Hello \"world\"\nline 2"

Incorporar texto livre dentro de um literal de string em C ou C++ é um erro clássico: uma aspas duplas encerra a string, uma barra invertida solta engole o próximo caractere, uma quebra de linha bruta é erro de sintaxe, e escapes octais ou hexadecimais que parecem corretos em um log podem ser truncados ou ilegais ao colar no código-fonte. Este escapador de strings C transforma texto simples em um corpo de literal seguro (e em um literal entre aspas pronto para colar) e inverte o mesmo mapa quando você precisa recuperar os caracteres originais. O modo escape respeita o estilo de aspas escolhido—duplas para strings "..." comuns ou simples para constantes de caractere—além de barras invertidas, os escapes de controle usuais e, opcionalmente, formas hex ou de caractere universal para não ASCII.

Como os escapes de string C e C++ funcionam na prática

Um literal de string em C ou C++ é uma sequência de caracteres entre aspas duplas; constantes de caractere usam aspas simples. Dentro dessa sequência, uma barra invertida inicia um escape: \\ vira uma barra, \" fecha com segurança uma string entre aspas duplas, \' faz o mesmo para constantes de caractere, e \? existe para que toolchains sensíveis a trigrafos não leiam mal um ponto de interrogação.

Escapes de controle nomeados são padrão em C e C++: \n é avanço de linha, \r retorno de carro, \t tabulação, além de \a alerta, \b backspace, \f form feed e \v tabulação vertical. Duas formas numéricas importam todos os dias em código de sistemas: um escape octal é uma barra seguida de um a três dígitos octais (assim \0 é um byte nulo e \101 é a letra A), e um escape hexadecimal é \x seguido de um ou mais dígitos hex.

C99 e C++ também aceitam nomes de caractere universal \uXXXX e \UXXXXXXXX para fonte Unicode portátil. Esta capacidade aplica essas regras de forma determinística. No modo escape percorre cada unidade de código, substitui caracteres especiais pelo escape seguro mais curto para o estilo de aspas selecionado, usa controles nomeados quando existem, recorre a \xHH para outros bytes C0 e, opcionalmente, reescreve todo caractere não ASCII quando hex é true.

No modo unescape analisa as mesmas sequências de volta a caracteres e rejeita barras finais, \x ou nomes universais incompletos, dígitos não hex, pontos de código fora de faixa e escapes de letra desconhecidos que seriam comportamento indefinido em uma leitura estrita da linguagem.

O que você envia e o que recebe de volta

Envie um campo string obrigatório chamado text e campos opcionais mode, quote e hex. O modo escape converte texto simples em um corpo de literal C/C++ armazenado em result e também devolve literal: o mesmo corpo envolvido nas aspas escolhidas para colar no código. O modo unescape reverte sequências de escape em text e devolve a string simples recuperada em result sem campo literal.

Quote tem padrão double; use single quando o destino for uma constante de caractere ou uma string entre aspas simples em um dialeto relacionado—o escape só força escape para esse delimitador, de modo que apóstrofos possam permanecer brutos em corpos entre aspas duplas. A resposta ecoa mode, quote, hex, o text original, result e o comprimento de result. Falhas de validação não consomem saldo pré-pago.

Verificações clássicas incluem escapar uma saudação com aspas embutidas e uma quebra de linha, desescapar um corpo que usa \xE9 para é ou \101 para A, escapar com hex true para que não ASCII vire formas \x ou \u, e rejeitar uma string que termina com barra solta.

Onde um escapador de strings C se paga

Equipes de firmware embarcado e drivers de dispositivo colam dumps de protocolo que já contêm escapes octais e hex e precisam de um caminho de unescape que falhe de forma ruidosa em sequências \x truncadas em vez de inventar bytes. Sites de documentação e receitas que mostram exemplos para copiar e colar precisam de um caminho de escape confiável para que amostras do usuário continuem literais C válidos.

Pipelines de QA e CI comparam vetores dourados de escape e unescape entre hosts para que uma quebra de linha seja sempre \n sob aspas duplas e nunca uma quebra bruta que falharia na compilação. Autores de material didático que ensinam sintaxe de strings em C querem exemplos que mencionem octal e hex de forma explícita, que é a intenção de busca capturada por esta página.

Se você precisa de escapes de string JavaScript, entidades HTML ou codificação percentual de URL, trate-os como intenções e landings separadas em vez de sobrecarregar esta página do escapador de strings C.

Literais de string seguros em código C/C++ gerado

Escape títulos, mensagens e valores de configuração de texto livre antes de escrevê-los em literais C entre aspas duplas ou constantes de caractere entre aspas simples.

Decodificar escapes octais e hex a partir de logs

Desescape corpos de string no estilo C de logs de firmware, tickets e arquivos dourados de volta a texto legível, com falhas rígidas em escapes incompletos ou ilegais.

Reescrita hex só ASCII para toolchains

Escape com hex true para que caracteres não ASCII virem sequências \xHH, \uXXXX ou \UXXXXXXXX adequadas a repositórios só ASCII e compiladores rigorosos.

Qual é a diferença entre result e literal?

Result é o corpo escapado sem aspas ao redor. Literal (somente no modo escape) envolve esse corpo no estilo de aspas escolhido para você colar uma string C/C++ completa no código-fonte.

Posso escapar e desescapar?

Sim. Defina mode como escape (padrão) para codificar texto simples, ou mode como unescape para recuperar texto a partir de um corpo de literal de string C/C++.

Quais estilos de aspas são suportados?

Double (padrão) para literais de string comuns e single para o estilo de constantes de caractere. O modo escape só escapa o delimitador que você escolheu.

Quanto custa?

A ferramenta do navegador é gratuita e roda localmente.

O que acontece se uma sequência de escape estiver malformada?

A conversão de volta para imediatamente e diz o que está errado, sem adivinhar. Barra invertida no final, \x ou nome universal incompleto, dígito que não é hexadecimal, ponto de código fora do intervalo ou letra desconhecida após a barra são recusados.

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.

POSThttps://api.kit.forhosting.com/enc/c-escape

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/enc/c-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello \"world\"\nline 2"}'
{
  "text": "Hello \"world\"\nline 2"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.c_escape",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O modo unescape entende \n, \r, \t, \\, \", \', \?, \a, \b, \f, \v, octal de um a três dígitos, \xHH, \uXXXX e \UXXXXXXXX, e falha imediatamente com invalid_input em barras finais, hex incompleto ou letras de escape desconhecidas, em vez de inventar lixo semidecodificado.

Como os escapes de string C e C++ funcionam na prática

O caminho é trabalho puro de string sem rede, sem sementes aleatórias e sem carimbos de relógio, de modo que entradas idênticas sempre produzem JSON idêntico. O preço das chamadas de API bem-sucedidas é a base publicada de US$ 0,002 por item, e falhas de validação não consomem saldo pré-pago.

O que você envia e o que recebe de volta

Quando mode é omitido, escape é o padrão, de modo que um único payload ainda faz trabalho útil. Text ausente, objetos que não são string, valores de mode ou quote não suportados, valores que não podem ser lidos como booleano para hex, strings maiores que o máximo documentado, barras finais, escapes hex incompletos, nomes de caractere universal incompletos, dígitos não hex, pontos de código ilegais e letras de escape desconhecidas falham com invalid_input e uma mensagem clara em inglês. O preço da API em sucesso é a base publicada de US$ 0,002 por item.

Onde um escapador de strings C se paga

Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.

O que acontece se uma sequência de escape estiver malformada?

Unescape falha com invalid_input, indicando a posição e a sequência inválida (por exemplo barra final, \xHH incompleto ou escape de letra desconhecido). Nada é cobrado por falhas de validação.

Ver a documentação completa do KIT →