Convertitore escape Unicode
Scriva Hi e otterrà \u0048\u0069; una é accentata diventa \u00e9 e l'emoji U+1F600 diventa la coppia \ud83d\ude00. In decodifica quelle sequenze tornano testo leggibile e gli escape rotti vengono rifiutati invece che indovinati. 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
- \u0048\u0069
- Lunghezza
- 12
- Unità di codice
- 2
- Numero di escape
- 2
Una semplice lettera diventa \u0041, un carattere accentato diventa \u00e9, e i caratteri fuori dal Piano Multilingue di Base —emoji, scritture storiche e molti simboli moderni— compaiono come una coppia surrogato alta e bassa, ad esempio \ud83d\ude00. Incollare tali sequenze a mano è lento e soggetto a errori; decodificare un escape troncato o non esadecimale può inventare in silenzio il carattere sbagliato se lo strumento è troppo permissivo. Questa capacità codifica il testo semplice in sequenze contigue \uXXXX e decodifica stringhe dense di escape di nuovo in caratteri leggibili con piena consapevolezza delle coppie surrogato.
Come gli escape \uXXXX mappano le unità UTF-16
Quella forma non nomina da sola uno scalare Unicode completo quando il carattere supera U+FFFF; invece nomina un'unità di codice UTF-16. I valori da U+0000 a U+FFFF (esclusi i casi limite di surrogati spaiati che si possono ancora emettere come unità) diventano un singolo escape, ad esempio \u0048 per la H maiuscola o \u00e9 per la e acuta. Gli scalari da U+10000 a U+10FFFF sono codificati come una coppia surrogato: prima un surrogato alto nell'intervallo U+D800–U+DBFF, poi un surrogato basso in U+DC00–U+DFFF.
Il volto sorridente U+1F600 diventa quindi \ud83d\ude00, non un escape a sei cifre. Questa capacità percorre l'ingresso con consapevolezza dei code point in codifica, emette esadecimale minuscolo a quattro cifre per ogni unità e, in decodifica, cerca \u o \U seguiti da quattro cifre esadecimali. Code incomplete come \u12, corpi non esadecimali come \uGGGG e escape a barra sconosciuti vengono rifiutati anziché indovinati.
Le coppie alto-basso valide si ricombinano in un unico scalare tramite fromCodePoint, così l'andata e ritorno preserva emoji e testo del piano supplementare.
Casi d'uso
Insegnare UTF-16 e coppie surrogato
Mostri agli studenti che un emoji diventa due unità \uXXXX, poi decodifichi la coppia di ritorno così restano chiari lunghezza e code point.
Domande frequenti
Quale formato di escape usa questo strumento?
I caratteri fuori dal BMP si codificano come una coppia surrogato alta e bassa (ad esempio \ud83d\ude00).
Si può convertire in entrambe le direzioni?
Sì. Imposti mode su encode (predefinito) per trasformare il testo semplice in sequenze contigue \uXXXX, oppure mode su decode per espandere gli escape —incluse le coppie surrogato— di nuovo in caratteri.
Cosa succede con un escape malformato?
Forme troncate come \u12, corpi non esadecimali ed escape a barra sconosciuti vengono rifiutati con un messaggio che indica il problema. I fallimenti di validazione non vengono addebitati.
Gestisce emoji e altri caratteri fuori dal BMP?
Sì. Encode emette una coppia surrogato di due unità \uXXXX; decode ricombina una coppia alto+basso valida in un unico scalare, così l'andata e ritorno preserva l'emoji originale.
Quanto costa?
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/unicode-escape \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi café"}'const res = await fetch("https://api.kit.forhosting.com/enc/unicode-escape", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hi café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/unicode-escape",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hi café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/unicode-escape", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hi café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hi café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/unicode-escape", 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 café"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.unicode_escape",
"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.
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
Chi esegue il debug di payload JSON, bundle di risorse Java o letterali di stringa JavaScript incontra di continuo la forma barra-u: quattro cifre esadecimali dopo \u che rappresentano un'unità di codice UTF-16. Lo strumento gratuito del browser e l'API a pagamento condividono un unico nucleo deterministico, così le dimostrazioni in aula, i controlli di CI e i webhook live concordano sempre sulla stessa mappatura al prezzo pubblicato di $0.002 per elemento riuscito.
Come gli escape \uXXXX mappano le unità UTF-16
Java, JavaScript e la grammatica delle stringhe JSON descrivono il testo Unicode con lo stesso escape classico: una barra rovesciata, la lettera u ed esattamente quattro cifre esadecimali. Quel disegno coincide con ciò che si vede nell'output di JSON.stringify, in molti file Properties Java e nel JavaScript più datato precedente all'escape di code point \u{…}.
Cosa si invia e cosa si riceve indietro
Invi un campo stringa obbligatorio chiamato text e un campo opzionale mode impostato su encode o decode. Encode trasforma ogni carattere in unità contigue \uXXXX: Hi diventa \u0048\u0069, e una stringa che mescola ASCII con café e un emoji produce un risultato più lungo ma completamente escapato. Decode inverte il processo: sostituisce ogni \uXXXX ben formato con l'unità di codice corrispondente, ricombina le coppie surrogato in un unico carattere quando sono presenti entrambe le metà e conserva i caratteri letterali mai escapati, così gli incolla misti funzionano ancora. I fallimenti di validazione non consumano il saldo prepagato. Quando mode è omesso, encode è il valore predefinito, così un solo payload resta utile. In decode sono accettati i compagni JSON comuni come \n, \t, \r, \\ e \", così un frammento copiato da un letterale di stringa non fallisce al primo escape di nuova riga. Le risposte di successo riportano mode e il text originale, restituiscono result come stringa di output principale e includono length, code_units (unità UTF-16 elaborate), escape_count (quante forme \uXXXX sono state prodotte o consumate), un'etichetta format \uXXXX e una breve nota standard che nomina Java, JavaScript e JSON. Text assente, valori di mode non supportati, stringhe più lunghe del massimo documentato, hex troncato dopo \u, cifre non esadecimali dentro un escape e sequenze a barra sconosciute falliscono con invalid_input e un messaggio in inglese che nomina l'indice o il campo. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento.
Dove compare la conversione di escape Unicode nel lavoro reale
Client mobili e desktop che parlano con backend Java a volte registrano bundle in stile Properties pieni di sequenze \u per ogni etichetta accentata; i team di supporto incollano quelle righe su una landing dedicata al convertitore anziché cercare impostazioni dell'IDE. I corsi di programmazione insegnano che la lunghezza di una stringa JavaScript conta le unità UTF-16, non i caratteri percepiti dall'utente, e un codificatore live che mostra due escape per un emoji rende concreta quella lezione. Se servono elenchi di scalari U+ senza barre, dump hex grezzi UTF-16, codifica percent per URL o entità HTML nominate, li tratti come intenzioni di ricerca e landing separate anziché sovraccaricare questa pagina di sequenze di escape Unicode: quegli strumenti rispondono a query diverse anche quando il codice sottostante è breve. Gli autori di API e webhook ricevono spesso JSON in cui nomi di prodotto non ASCII o didascalie generate dagli utenti appaiono completamente escapati; decodificarli in testo leggibile accelera il triage senza avviare un runtime applicativo completo. Poiché questa capacità è un motore di parse puro, il prezzo API resta alla base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo.
Casi di integrazione
Decodificare JSON e log Java escapati
Incolli una riga di log piena di \u00e9 e coppie surrogato, la decodifichi in testo leggibile e ricodifichi un fixture corretto per il prossimo deploy.
Costruire stringhe golden di CI per serializzatori
Codifichi nomi di prodotto e didascalie emoji in forme stabili \uXXXX che i dump di stringa JSON e Java devono far corrispondere dopo gli upgrade di libreria.