zu lesen Ich mag dieseswelche Art von String-Präfix x verwendet und wie es
"\x27\x18\xf6,\x03\x12\x8e\xfa\xec\x11\x0dHL"
eine Zeichenfolge haben, wenn ich es in Browser-Konsole setzen, wird es automatisch etwas anderes:
"\x27\x18\xf6,\x03\x12\x8e\xfa\xec\x11\x0dHL"
"'ö,úìHL"
wenn ich chatAt(x)
über diese Saite zu tun, die ich erhalten:
"\x27\x18\xf6,\x03\x12\x8e\xfa\xec\x11\x0dHL".charAt(0)
"'"
"\x27\x18\xf6,\x03\x12\x8e\xfa\xec\x11\x0dHL".charAt(1)
""
"\x27\x18\xf6,\x03\x12\x8e\xfa\xec\x11\x0dHL".charAt(2)
"ö"
das ist, was ich will.
Jetzt möchte ich ein Java-Programm implementieren, die die Zeichenfolge auf die gleiche Weise wie im Browser liest.
Das Problem ist, Java erkennt nicht, wie diese Zeichenfolge codiert ist. Stattdessen behandelt es es als eine normale Zeichenfolge:
"\\x27\\x18\\xf6,\\x03\\x12\\x8e\\xfa\\xec\\x11\\x0dHL".charAt(0) == '\'
"\\x27\\x18\\xf6,\\x03\\x12\\x8e\\xfa\\xec\\x11\\x0dHL".charAt(1) == 'x'
"\\x27\\x18\\xf6,\\x03\\x12\\x8e\\xfa\\xec\\x11\\x0dHL".charAt(2) == '2'
Welche Codierung ist diese Zeichenfolge codiert? Welche Art der Codierung verwendet das Präfix \x
? Gibt es eine Möglichkeit, es richtig zu lesen (das gleiche Ergebnis wie im Browser erhalten)?
Update: Ich habe eine Lösung gefunden -> Ich denke, es ist nicht die beste, aber es funktioniert für mich:
StringEscapeUtils.unescapeJava("\\x27\\x18\\xf6,\\x03\\x12\\x8e\\xfa\\xec\\x11\\x0dHL".replace("\\x", "\\u00"))
Ihnen allen für Ihre Antworten danken :) besonders Ricardo Cacheira
Thank
Sie
[this] (http://stackoverflow.com/questions/3613759/x-escape-in-java) könnte hilfreich sein? –