ForHosting KIT · Ferramentas para dev

Codificador e decodificador yEnc

Codifica “Hello Usenet” em um fragmento yEnc com moldura, com cabeçalho =ybegin e uma linha =yend que traz o checksum 38A1E859, e decodifica esses fragmentos em texto. Cada byte é deslocado em 42 em vez de expandido, então ocupa bem menos que Base64. 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 Usenet
Modo de cálculo
Encode
Nome
hello.bin
Você obtém
Codificação
yenc
Tamanho
12
Crc32
38A1E859
Reta
128

O yEnc mantém quase cada octeto como um único caractere imprimível ou estendido após um deslocamento fixo de quarenta e dois, escapando apenas um conjunto crítico reduzido para que dados binários viajem em corpos de artigos NNTP com bem menos expansão do que Base64. O motor é totalmente determinístico: o mesmo texto, modo, nome e comprimento de linha produzem sempre o mesmo resultado, sem chamadas de rede, sem sais aleatórios e sem atalhos dependentes da data. Verificações comuns incluem codificar Hello Usenet em um fragmento de artigo emoldurado e decodificar esse fragmento de volta à frase original.

O yEnc no Usenet, em binários e no suporte

Equipes de frontend e suporte decodificam trechos yEnc durante a investigação de tickets sem colar dados em scripts ad hoc que tratam mal escapes críticos ou quebras de linha suaves. Serviços backend codificam strings multilíngues curtas ou amostras de configuração em yEnc emoldurado para testes de integração que devem coincidir com o deslocamento e o layout de cabeçalho de um poster real.

Engenheiros de qualidade geram pares determinísticos de encode e decode para testes de contrato, para que uma biblioteca que declare suporte a yEnc não possa alterar em silêncio regras de escape, polinômios CRC ou ordem de atributos de cabeçalho sem quebrar goldens. Combine com ajudantes Base64 e quoted-printable quando precisar de codificações de transferência relacionadas, e com outras ferramentas de texto ao montar um pequeno laboratório de codificadores gratuitos e determinísticos.

Depuração de artigos Usenet

Codifique ou decodifique fragmentos de artigos yEnc para que size em =ybegin, escapes do corpo e trailers CRC-32 coincidam com o que os newsreaders esperam.

Em que o yEnc difere do Base64?

yEnc desloca cada byte em 42 e só escapa alguns valores críticos, de modo que a sobrecarga é bem menor que o alfabeto de quatro caracteres do Base64. Foi projetado para corpos de artigos Usenet, não para MIME de e-mail.

O que acontece se um escape ou o CRC estiver malformado?

Escapes '=' incompletos, descompassos de size e descompassos CRC-32 são rejeitados em vez de adivinhados.

O resultado é determinístico?

Sim. O mesmo texto, modo, nome e comprimento de linha produzem sempre o mesmo resultado, sem rede, aleatoriedade ou comportamento dependente da data.

Quais bytes o yEnc escapa?

Primeiro cada byte é deslocado em 42. Se o resultado for um de quatro valores críticos, nulo, quebra de linha, retorno de carro ou o sinal de igual, ele é escrito como um sinal de igual seguido desse valor mais 64; o resto continua com um só caractere.

Posso mudar o comprimento da linha e o nome do anexo?

Sim. Ao codificar, a linha aceita de 32 a 512 caracteres, com 128 por padrão, e o nome escolhido vai na linha =ybegin; sem nome, vale data.bin. O mesmo texto com o mesmo nome e a mesma linha sempre gera o mesmo resultado.

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/yenc

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/yenc \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello Usenet"}'
{
  "text": "Hello Usenet"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.yenc",
  "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.

Este codificador yEnc converte texto UTF-8 simples no formato de transferência binária de baixo custo usado no Usenet e decodifica payloads yEnc emoldurados ou brutos de volta a texto legível. Use grátis no navegador para praticar ferramentas de Usenet e depurar artigos, ou chame a API a US$ 0,002 por solicitação bem-sucedida quando pipelines precisarem de transformações yEnc reproduzíveis em CI e serviços backend.

O que é yEnc e o que esta ferramenta devolve

yEnc é uma codificação no estilo de transferência de conteúdo projetada para que arquivos binários viajem dentro de artigos do Usenet sem a penalidade de tamanho de um terço do Base64. Cada byte de entrada é deslocado em quarenta e dois módulo duzentos e cinquenta e seis; apenas os valores críticos nulo, feed de linha, retorno de carro e igual são escapados prefixando um sinal de igual e somando sessenta e quatro antes da emissão. Esta página segue sempre esse contrato para texto UTF-8: o modo encode codifica sua string em UTF-8, aplica o deslocamento e os escapes críticos, quebra linhas e emite cabeçalhos com um CRC calculado; o modo decode remove linhas de controle, ignora CR e LF no corpo, inverte escapes, verifica size e CRC quando presentes e rejeita sequências de igual incompletas em vez de adivinhar. Os codificadores então inserem quebras de linha suaves para que as linhas do artigo fiquem perto da largura clássica de cento e vinte e oito caracteres e emolduram o corpo com uma linha =ybegin que carrega size, comprimento de linha opcional e um nome de arquivo, mais um trailer =yend que frequentemente inclui size e uma soma de verificação IEEE CRC-32. A resposta JSON inclui result para a string transformada, mode ecoando encode ou decode, encoding fixo em yenc, size para o comprimento do payload binário, name e crc32 opcionais, framed true quando cabeçalhos foram usados ou detectados, e input_bytes mais output_bytes para que voce possa afirmar tamanhos em testes. Não há caminho de streaming nem reparo silencioso de yEnc quebrado: ou a string é válida sob essas regras ou a solicitação falha com invalid_input. Se voce precisar de empacotamento opaco seguro para e-mail, prefira os endpoints Base64 ou quoted-printable; esta landing é para a codificação yEnc orientada ao Usenet que clientes de notícias e posters binários já esperam.

Como text, mode, name e line são lidos e como os resultados permanecem reproduzíveis

Encode aceita qualquer string Unicode, converte-a com o TextEncoder da plataforma para bytes UTF-8 e emite um fragmento de artigo yEnc emoldurado com CRC-32 em maiúsculas. Depois que os bytes são recuperados, uma decodificação UTF-8 fatal garante que lixo binário não se torne texto mojibake. O campo de payload preferido é text, com aliases input, value e s para que formulários, query strings e clientes SDK reutilizem o mesmo contrato sem renomear colunas. Mode tem padrão encode e aceita decode explicitamente; aliases op, direction e action mapeiam para o mesmo comutador em scripts que já usam esses nomes. O name opcional (aliases filename, file) é escrito na linha =ybegin ao codificar e o padrão é data.bin; não deve conter retornos de carro, feeds de linha nem sinais de igual. O line opcional (aliases line_length, linewidth) define a largura de quebra do corpo entre trinta e dois e quinhentos e doze caracteres e o padrão é cento e vinte e oito, alinhado à prática comum do yEnc. Decode aceita texto emoldurado com =ybegin e =yend ou um fluxo só de corpo: um escape de igual incompleto no final, um igual seguido de quebra de linha, um descompasso de size em relação à contagem de bytes decodificados ou um descompasso de CRC-32 falham com uma mensagem invalid_input clara. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo resultado matemático dentro de um pipeline automatizado sem reimplementar as tabelas yEnc por conta própria. Entradas inválidas devolvem invalid_input e não são cobradas, o que mantém a validação barata enquanto transformações bem-sucedidas seguem um preço fixo por item.

Onde o yEnc se encaixa no Usenet, em binários e em fixtures de teste

Educadores usam a mesma ferramenta ao ensinar a diferença entre a opacidade do Base64 e a codificação Usenet de baixo custo do yEnc para payloads majoritariamente binários. Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão — exploração interativa gratuita e uma API idêntica paga — corresponde ao restante do catálogo KIT de nível A e permite ir de uma demonstração em sala para um pipeline automatizado sem mudar o resultado codificado.

Geração de fixtures binários

Produza strings yEnc emolduradas e reproduzíveis para testes unitários, arquivos golden e verificações de integração NNTP ou de posters.

Validação de parser e CRC

Decodifique payloads suspeitos para revelar escapes incompletos, descompassos de size e erros CRC-32 sem adivinhar.

Quanto custa o codificador yEnc?

É grátis no seu navegador nesta página. Pela API uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.

Quais modos são suportados?

mode=encode (padrão) transforma texto simples em yEnc emoldurado com =ybegin e =yend. mode=decode transforma uma string yEnc (emoldurada ou só corpo) de volta em texto UTF-8.

Ver a documentação completa do KIT →