Codificatore di byte UTF-8
Veda i byte UTF-8 esatti di qualsiasi testo: «Hi» diventa le coppie esadecimali 48 69, una coppia per byte, e l’esadecimale incollato torna ai caratteri originali. Le sequenze UTF-8 non valide vengono rifiutate, mai rattoppate. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hi
- Modalità di calcolo
- Encode
- Risultato
- 48 69
- Ingresso
- Hi
- Esadecimale
- 48 69
- Hex compatto
- 4869
Un codificatore di byte UTF-8 trasforma caratteri leggibili nella sequenza esatta di byte che Unicode assegna in UTF-8, mostrati come coppie esadecimali di due cifre, e un decodificatore corrispondente ricostruisce la stringa originale da quei byte. Inserisca testo semplice e scelga codifica per ricevere coppie hex separate da spazi —una coppia per ottetto— oppure incolli hex e scelga decodifica per recuperare il testo.
Come il testo diventa byte hex UTF-8 e perché la validità è importante
I computer memorizzano il testo come sequenze di byte. UTF-8 codifica ogni code point Unicode come uno a quattro byte: le lettere latine di base richiedono spesso un solo byte che corrisponde al classico ASCII, mentre il latino accentato, molti alfabeti non latini e gli emoji ne richiedono due, tre o quattro.
La codifica percorre la stringa con un codificatore UTF-8 standard, poi scrive ogni byte come due cifre esadecimali minuscole da zero a duecentocinquantacinque, unendo le coppie con un solo spazio così che si possano contare gli ottetti a colpo d'occhio. La decodifica fa l'inverso: divide l'input in coppie candidate, richiede che ogni coppia abbia esattamente due cifre hex, converte ogni coppia in un byte e poi interpreta l'array di byte come UTF-8 con validazione fatale.
Se una coppia ha una cifra, tre cifre o un carattere non esadecimale, oppure se la stringa hex continua ha lunghezza dispari, il convertitore deve fallire. Cosa ancora più importante, anche un hex ben formato può descrivere byte che non sono UTF-8 valido —per esempio un byte di continuazione isolato o un byte iniziale multibyte troncato—.
Questa pagina si rivolge a chi cerca un codificatore di byte UTF-8, uno strumento da testo a byte hex o un decodificatore hex UTF-8 online; non è un convertitore di gruppi di bit binari né un rilevatore generale di codifiche per code page legacy.
Consigli pratici, limiti e strumenti correlati
Preferisca decode quando possiede già l'hex di una cattura di pacchetti, di una riga di log o di un manuale e vuole recuperare i caratteri. Le verifiche di andata e ritorno sono lo smoke test più rapido: codifichi una parola breve come Hi, confermi che le due coppie corrispondono ai byte ASCII noti quarantotto e sessantanove in hex, poi decodifichi quelle coppie e confermi di recuperare la stringa originale. Mantenga i contenuti sotto il limite di caratteri pubblicato; i dump di diversi megabyte appartengono al lavoro offline.
Questo strumento non è un convertitore di bit binari —i gruppi binari sono in base due, non in base sedici— né uno strumento di riparazione del mojibake che indovina Latin-1 o Windows-1252. Preferisca questa capacità quando l'intento di ricerca è testo contro ottetti hex UTF-8; usi il convertitore testo-binario quando le servono gruppi di otto bit di zeri e uni, e uno strumento di riparazione di conversione in UTF-8 quando il problema è la codifica sorgente sbagliata e non la presentazione hex.
Quando insegna, mostri lo stesso emoji o la stessa lettera accentata accanto a una lettera ASCII semplice così che gli studenti vedano gli ottetti UTF-8 multibyte apparire come coppie hex extra e non come un unico codice misterioso.
Casi d'uso
Verifica dei compiti sulle codifiche multibyte UTF-8
Gli studenti codificano frasi brevi con accenti o emoji, confrontano le coppie hex scritte a mano con il risultato deterministico e decodificano l'hex fornito dall'insegnante senza foglio di calcolo.
Dimostrazioni didattiche su protocolli e reti
I workshop mostrano come le etichette stampabili diventano ottetti sulla rete, poi forzano hex UTF-8 non valido per illustrare il framing rigoroso e le regole del decodificatore.
Domande frequenti
Cosa restituisce il codificatore di byte UTF-8?
In modalità encode restituisce coppie hex di due cifre separate da spazi (una per byte UTF-8), una stringa hex compatta e array di coppie e valori interi dei byte. In modalità decode restituisce il testo UTF-8 recuperato.
Cosa succede con una sequenza UTF-8 non valida?
La modalità decode usa una validazione UTF-8 fatale.
Supporta emoji e alfabeti non latini?
Sì. La codifica usa UTF-8, quindi i caratteri multibyte diventano più coppie hex. La decodifica rifiuta le sequenze di byte che non sono UTF-8 valido.
Posso incollare hex senza spazi?
Sì, se la stringa continua contiene solo cifre esadecimali e la sua lunghezza è multipla di due.
Il codificatore di byte UTF-8 è gratuito?
Lo strumento del browser è gratuito e gira in locale.
Strumenti correlati
Per sviluppatori — accesso via API
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.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/utf8-bytes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi"}'const res = await fetch("https://api.kit.forhosting.com/enc/utf8-bytes", {
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/utf8-bytes",
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/utf8-bytes", 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/utf8-bytes", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Hi"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.utf8_bytes",
"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.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Hex non valido, un numero dispari di cifre o una sequenza di byte che non è UTF-8 legale restituisce un errore invalid_input chiaro invece di inventare caratteri di sostituzione. Il processo è aritmetica puramente deterministica sui byte UTF-8 —senza rete, senza semi casuali, senza dipendenza dall'orologio— quindi l'esecutore gratuito del browser e l'API prepagata restituiscono lo stesso JSON a ogni chiamata.
Come il testo diventa byte hex UTF-8 e perché la validità è importante
Un padding silenzioso cambierebbe il payload e nasconderebbe gli errori degli esercizi. Emettere il carattere di sostituzione Unicode nasconderebbe quel difetto; questo strumento rifiuta con invalid_input così chi lo chiama vede lo stesso errore rigido che solleverebbe un parser rigoroso.
Come chiamare l'API e cosa contiene la risposta
La modalità predefinita è encode: i byte UTF-8 di text diventano coppie hex di due cifre separate da spazi. La modalità decode tratta text come coppie hex —ottetti separati da spazi bianchi, prefissi 0x opzionali o una stringa hex continua la cui lunghezza è multipla di due— e restituisce la stringa UTF-8 recuperata. Invii un corpo JSON con un campo stringa obbligatorio text (alias input, value e data) e un mode opzionale che vale encode oppure decode. La lunghezza dell'input è limitata a centomila caratteri così che una singola richiesta non possa esaurire la memoria del Worker con stringhe enormi. In caso di successo con encode, la risposta include mode, input, result e hex con la stessa stringa hex separata da spazi, hex_compact senza spazi, pairs come array di stringhe di due caratteri, bytes con i valori interi dei byte, byte_count e un breve messaggio in inglese. In caso di successo con decode, la risposta include mode, input, result e text con la stringa UTF-8 decodificata, hex normalizzato in coppie separate da spazi, hex_compact, gli stessi array pairs e bytes, byte_count e un messaggio corrispondente. Una validazione fallita —text mancante, text che non è una stringa, input troppo grande, un mode sconosciuto, una coppia hex non valida, lunghezza dispari dell'hex continuo o byte decodificati che non sono UTF-8 valido— restituisce invalid_input e non viene mai addebitata. Il prezzo è una tariffa fissa di $0.002 per richiesta riuscita con unità item e prezzo marginale unitario zero.
Consigli pratici, limiti e strumenti correlati
Invii deliberatamente una sequenza multibyte incompleta, come un solo byte iniziale senza la sua continuazione, o una stringa hex continua di lunghezza dispari, per verificare che il suo client gestisca invalid_input e il messaggio di errore che menziona UTF-8 o hex non validi. Le attività fallite che restituiscono invalid_input non consumano saldo prepagato, il che mantiene economici gli script esplorativi quando gli studenti incollano hex incompleto.
Casi di integrazione
Fixture di test unitari per codec e parser
Generi stringhe di byte hex note dal testo della fixture e verifichi che la decodifica recuperi gli stessi byte UTF-8 in CI senza helper TextEncoder improvvisati.