Die Dokumentation von StringEscapeUtils.escapeJava()
ist vage auf genau, was "Java String rules" sind.
Ich denke, es ist mit dem Bit in JLS Chapter 3 Bezug genommen wird, wo es heißt:
Programme werden in Unicode geschrieben (§ 3.1), aber lexikalische Übersetzungen werden zur Verfügung gestellt (§ 3.2), so dass Unicode entkommt (§ 3.3) kann verwendet werden, um jedes Unicode-Zeichen zu verwenden, das nur ASCII-Zeichen verwendet.
und
ASCII (ANSI X3.4) ist der amerikanische Standard Code for Information Interchange. Die ersten 128 Zeichen der Unicode UTF-16-Codierung sind die ASCII-Zeichen.
So könnte es bedeuten, die Zeichenfolge zu entkommen, so dass es nur ASCII-Zeichen geschrieben werden können.
%
, !
, @
, $
, ^
, &
und *
sind alle ASCII-Zeichen. Sie haben Werte von weniger als 128 (d. H. Sie sind im 7-Bit-Block).
£
ist kein ASCII-Zeichen: In ISO8859-1 ist es als 163 (0xA3) codiert, was außerhalb des 7-Bit-ASCII-Blocks liegt.
Wenn Sie eine Datei mit dem Zeichen £
in einem Zeichenfolgenliteral öffnen, wird sie möglicherweise als etwas anderes gerendert, wenn dieser Editor die Zeichencodierung nicht korrekt einstellt. Zum Beispiel könnte es Ł
sein, wenn es in ISO8859-2 interpretiert wird.
Um eindeutig zu sein, ist das Rautenzeichen daher ausgeblendet.
wie verhindere ich es von
entkommen werden Sie können nicht, diese Methode verwendet wird; Sie müssten eine Alternative finden. Das einzige, was Sie tun können, wäre, die \u00A7
s in der Zeichenfolge wieder durch £
zu ersetzen.
Nie benutzt Commons utils, aber ich würde Ihnen empfehlen, JavaDocs von 'StringEscapeUtils.escapeJava()' zu lesen. – Sufian
@Sufian Die [Dokumentation] (https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringEscapeUtils.html#escapeJava-java.lang.String-) tut dies nicht Erwähnen Sie Pfund-Symbole. Ich verstehe nicht, warum das abgelehnt wurde - ich denke, das ist eine vollkommen gültige Frage. – cubrr
Die Dokumentation sagt: Beendet die Zeichen in einem String mit 'Java String rules'. Also, Sufian hat Recht – Valijon