100 % locale — i tuoi dati non lasciano mai il tuo browser

Escape Java — sicuro in un sorgente solo ASCII

Fai l’escape del testo per un literal Java. Ogni carattere non ASCII diventa \uXXXX: il risultato sopravvive in un sorgente ASCII o in un .properties.

Istantaneo Privato Zero cookie

Input Text

Output Java Escaped

Cosa fa questo strumento

Fa l’escape del testo per un literal String di Java, con un comportamento che lo distingue dagli escaper di JavaScript e C#: tutto ciò che supera ~ (U+007E) viene scritto come \uXXXX.

  • i backslash vengono raddoppiati;
  • " viene sottoposta a escape — e ' no, perché Java non ha stringhe tra apici singoli;
  • a capo, ritorno a capo, tabulazione, backspace e avanzamento pagina prendono \n, \r, \t, \b, \f;
  • i caratteri di controllo e tutti i non ASCII diventano \uXXXX, e quelli fuori dal piano multilingue di base vengono scritti come coppia surrogata.

Quando serve

Quando incolli testo in un file .java di cui non controlli la codifica e, soprattutto, in un .properties: quelli sono specificati come ISO-8859-1, e \uXXXX è l’unico modo portabile per farci passare un accento o un kanji.

Cosa non fa

L’output solo ASCII è prolisso per costruzione. Se punti a un file sorgente UTF-8 moderno e vuoi un literal che una persona riesca ancora a leggere, l’escaper JavaScript lascia intatti i caratteri non ASCII e produce lo stesso risultato per tutto il resto che conta qui.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Perché i miei caratteri accentati diventano \uXXXX?
È proprio lo scopo di questo escaper. I sorgenti Java e i file .properties sono storicamente letti come ISO-8859-1 o ASCII, quindi è viene scritto \u00e8 per sopravvivere a qualsiasi codifica del file. Il compilatore Java lo decodifica prima del parsing.
Cosa succede alle emoji?
Diventano una coppia surrogata — 😀 viene scritto \ud83d\ude00. È esattamente così che il carattere è memorizzato in una String Java, che contiene unità di codice UTF-16.
Gli apici singoli vengono sottoposti a escape?
No. Java non ha stringhe tra apici singoli: ' delimita un literal char, mai una String, quindi lì non c'è nulla da sottoporre a escape. Solo la virgoletta doppia lo è.

Convertitori correlati