ForHosting KIT · Strumenti per sviluppatori

Codificatore e decodificatore yEnc

Codifica «Hello Usenet» in un frammento yEnc con cornice, con intestazione =ybegin e una riga =yend che porta il checksum 38A1E859, e decodifica questi frammenti in testo. Ogni byte viene spostato di 42 invece di essere espanso, quindi occupa molto meno di Base64. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
Hello Usenet
Modalità di calcolo
Encode
Nome
hello.bin
Ottiene
Codifica
yenc
Dimensione
12
Crc32
38A1E859
Retta
128

Il motore è pienamente deterministico: lo stesso testo, mode, name e lunghezza di riga producono sempre lo stesso risultato, senza chiamate di rete, senza sali casuali e senza scorciatoie dipendenti dalla data. I controlli comuni includono la codifica di Hello Usenet in un frammento di articolo inquadrato e la decodifica di quel frammento nella frase originale.

Perché yEnc occupa così poco

Base64 trasforma ogni tre byte in quattro caratteri, quindi un file cresce di circa un terzo. yEnc segue un'altra strada: ogni byte viene spostato di 42 e scritto come un solo carattere, e solo quattro valori critici, nullo, avanzamento di riga, ritorno a capo e segno uguale, ricevono un segno uguale e un'aggiunta di 64. Le interruzioni di riga morbide tengono le righe vicine alla larghezza classica di 128 caratteri. Per questo yEnc è diventato il modo abituale di trasportare file binari negli articoli Usenet. Qui il testo viene prima convertito in byte UTF-8, così accenti e altri alfabeti tornano intatti.

Come leggere intestazione e checksum

Un frammento codificato si apre con una riga =ybegin che indica dimensione, lunghezza di riga e nome del file, e si chiude con una riga =yend che ripete la dimensione e spesso aggiunge un checksum CRC-32. «Hello Usenet» con il nome hello.bin dà 12 byte in ingresso, un risultato con cornice di 85 byte e il checksum 38A1E859. In decodifica vengono accettati sia frammenti completi sia un corpo nudo, utile quando un ticket di assistenza contiene solo un estratto incollato. Stesso testo, stesso nome e stessa lunghezza di riga danno sempre lo stesso risultato.

yEnc tra Usenet, binari e assistenza

I team frontend e di supporto decodificano snippet yEnc durante l’indagine dei ticket senza incollare dati in script ad hoc che trattano male escape critici o wrap soft. I servizi backend codificano stringhe multilingue brevi o campioni di configurazione in yEnc inquadrato per test di integrazione che devono coincidere con l’offset e il layout di intestazione di un poster reale.

Gli ingegneri della qualità generano coppie encode e decode deterministiche per test di contratto, così una libreria che dichiara supporto yEnc non può cambiare in silenzio regole di escape, polinomi CRC o ordine degli attributi di intestazione senza rompere i goldens. Lo abbini ad aiutanti Base64 e quoted-printable quando Le servono codifiche di trasferimento affini, e ad altri strumenti di testo quando costruisce un piccolo laboratorio di codificatori gratuiti e deterministici.

Debug di articoli Usenet

Codifichi o decodifichi frammenti di articoli yEnc affinché size su =ybegin, escape del corpo e trailer CRC-32 coincidano con ciò che i newsreader si aspettano.

Quanto costa il codificatore yEnc?

È gratis nel Suo browser su questa pagina.

In che modo yEnc differisce da Base64?

yEnc sposta ogni byte di 42 e scappa solo pochi valori critici, così il sovraccarico è molto inferiore all’alfabeto a quattro caratteri di Base64. È stato progettato per i corpi degli articoli Usenet piuttosto che per il MIME della posta.

Cosa succede se un escape o il CRC è malformato?

Escape '=' incompleti, discordanze di size e discordanze CRC-32 vengono rifiutati anziché indovinati.

Il risultato è deterministico?

Sì. Lo stesso testo, mode, name e lunghezza di riga producono sempre lo stesso risultato, senza rete, casualità o comportamento dipendente dalla data.

Quali byte vengono preceduti da escape in yEnc?

Ogni byte viene prima spostato di 42. Se il risultato è uno dei quattro valori critici, nullo, avanzamento di riga, ritorno a capo o segno uguale, si scrive con un segno uguale seguito da quel valore più 64; tutto il resto resta un solo carattere.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/enc/yenc

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Questo codificatore yEnc converte testo UTF-8 semplice nel formato di trasferimento binario a basso sovraccarico a lungo usato su Usenet e decodifica payload yEnc inquadrati o grezzi di nuovo in testo leggibile. yEnc mantiene quasi ogni ottetto come un solo carattere stampabile o esteso dopo un offset fisso di quarantadue, sfuggendo solo a un piccolo insieme critico affinché i dati binari viaggino nei corpi degli articoli NNTP con ben meno espansione di Base64. Lo usi gratis nel browser per esercitarsi con strumenti Usenet e per il debug degli articoli, oppure chiami l’API a $0.002 per richiesta riuscita quando le pipeline necessitano di trasformazioni yEnc riproducibili in CI e servizi backend.

Che cos’è yEnc e che cosa restituisce questo strumento

yEnc è una codifica in stile content-transfer pensata affinché file binari viaggino dentro articoli Usenet senza la penalità di dimensione di un terzo di Base64. Ogni byte di ingresso è spostato di quarantadue modulo duecentocinquantasei; solo i valori critici null, line feed, carriage return e uguale sono escaped anteponendo un segno uguale e aggiungendo sessantaquattro prima dell’emissione. Questa pagina segue sempre quel contratto per testo UTF-8: la modalità encode codifica la Sua stringa in UTF-8, applica l’offset e gli escape critici, spezza le righe ed emette intestazioni con un CRC calcolato; la modalità decode rimuove le righe di controllo, ignora CR e LF nel corpo, inverte gli escape, verifica size e CRC quando presenti e rifiuta sequenze di uguale incomplete invece di indovinare. I codificatori inseriscono poi interruzioni di riga soft così che le righe dell’articolo restino vicine alla larghezza classica di centoventotto caratteri, e inquadrano il corpo con una riga =ybegin che porta size, lunghezza di riga opzionale e un nome file, più un trailer =yend che spesso include size e un checksum IEEE CRC-32. La risposta JSON include result per la stringa trasformata, mode che riecheggia encode o decode, encoding fisso a yenc, size per la lunghezza del payload binario, name e crc32 opzionali, framed true quando sono state usate o rilevate intestazioni, e input_bytes più output_bytes per affermare le dimensioni nei test. Non c’è percorso di streaming né riparazione silenziosa di yEnc rotto: o la stringa è valida secondo queste regole o la richiesta fallisce con invalid_input. Se Le serve un impacchettamento opaco sicuro per la posta, preferisca gli endpoint Base64 o quoted-printable; questa landing è per la codifica yEnc orientata a Usenet che i client di news e i poster binari già si aspettano.

Come vengono letti text, mode, name e line e come restano riproducibili i risultati

Encode accetta qualsiasi stringa Unicode, la converte con il TextEncoder della piattaforma in byte UTF-8 ed emette un frammento di articolo yEnc inquadrato con CRC-32 in maiuscolo. Dopo il recupero dei byte, una decodifica UTF-8 fatale assicura che spazzatura binaria non diventi testo mojibake. Il campo di payload preferito è text, con alias input, value e s così che form, query string e client SDK riutilizzino lo stesso contratto senza rinominare colonne. Mode ha predefinito encode e accetta decode in modo esplicito; gli alias op, direction e action mappano lo stesso interruttore per script che usano già quei nomi. Il name opzionale (alias filename, file) viene scritto sulla riga =ybegin in codifica e predefinito è data.bin; non deve contenere carriage return, line feed o segni uguale. Il line opzionale (alias line_length, linewidth) imposta la larghezza di wrap del corpo tra trentadue e cinquecentododici caratteri e predefinito è centoventotto, in linea con la prassi comune yEnc. Decode accetta testo inquadrato con =ybegin e =yend o un flusso solo corpo: un escape di uguale incompleto in coda, un uguale seguito da interruzione di riga, una discordanza di size rispetto al conteggio dei byte decodificati o una discordanza CRC-32 falliscono con un messaggio invalid_input chiaro. Abbini l’esecuzione gratuita nel browser di questa pagina all’API a pagamento quando Le serve lo stesso risultato matematico dentro una pipeline automatizzata senza reimplementare da sé le tabelle yEnc. Gli input non validi restituiscono invalid_input e non vengono addebitati, il che mantiene economica la validazione mentre le trasformazioni riuscite restano un prezzo fisso per elemento.

Dove yEnc si colloca in Usenet, binari e fixture di test

Gli educatori usano lo stesso strumento insegnando la differenza tra l’opacità di Base64 e la codifica Usenet a basso sovraccarico di yEnc per payload soprattutto binari. Su questa pagina il lavoro gira interamente nel Suo browser; tramite l’API ogni consultazione riuscita costa $0.002, la validazione fallita non viene addebitata e nulla viene memorizzato dopo la risposta. Quella divisione — esplorazione interattiva gratuita e API identica a pagamento — coincide con il resto del catalogo KIT di livello A e Le consente di passare da una demo in aula a una pipeline automatizzata senza cambiare il risultato codificato.

Generazione di fixture binarie

Produca stringhe yEnc inquadrate e riproducibili per test unitari, file golden e controlli di integrazione NNTP o di poster.

Validazione di parser e CRC

Decodifichi payload sospetti per far emergere escape incompleti, discordanze di size ed errori CRC-32 senza indovinare.

Quali modalità sono supportate?

mode=encode (predefinito) trasforma testo semplice in yEnc inquadrato con =ybegin e =yend. mode=decode trasforma una stringa yEnc (inquadrata o solo corpo) di nuovo in testo UTF-8.

Leggi la documentazione completa del KIT →