Was dieses Tool macht
Es liest den Inhalt eines Java-String-Literals und gibt den Text zurück, für den er steht. Die benannten Formen \n, \r, \t, \b, \f und \0 werden wieder zu ihren Zeichen, \uXXXX wird dekodiert, und ein ausgeschriebenes Ersatzzeichenpaar \ud83d\ude00 wird zu dem einen Zeichen zusammengesetzt, das es kodiert — genau so muss jedes Zeichen oberhalb von U+FFFF in einem Java-Literal geschrieben werden.
Da Java beim Maskieren jedes Nicht-ASCII-Zeichen umschreibt, ist dies der Schritt, der ein maskiertes Literal wieder lesbar macht: Eine Wand aus é und 中 wird wieder zu dem Text mit Umlauten und CJK-Zeichen, für den sie steht.
Wo Java abweicht
Javas Satz ist kleiner als der von JavaScript. \v und \a gibt es nicht: Beide kommen als nackter Buchstabe zurück, v und a, statt als ein Steuerzeichen, das die Sprache nie hatte. Oktal-Escapes werden dagegen vollständig dekodiert: \0 ergibt NUL, \101 ein A, und die dreistellige Form wird nur akzeptiert, wenn die erste Ziffer 0 bis 3 ist — genau das sagt die Java-Grammatik selbst.
In die andere Richtung ist das Tool großzügiger als der Compiler. \u{1F600} und \xNN werden akzeptiert, weil sie in zwischen Sprachen kopiertem Text ständig vorkommen — gültiges Java ist aber keines von beiden, javac lehnt sie ab.
Was es nicht macht
Es dekodiert den Inhalt eines Literals, keinen Java-Ausdruck: Nichts wird verkettet, und Textblöcke (""") haben eigene Regeln für beiläufige Leerzeichen, die dieses Tool nicht anwendet.
Datenschutz ab Werk
Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.