Von dem, was ich verstehe, möchten Sie die Unicode-Darstellung einer Zeichenfolge abrufen. Dazu können Sie die Antwort von here verwenden.
private static String escapeNonAscii(String str) {
StringBuilder retStr = new StringBuilder();
for(int i=0; i<str.length(); i++) {
int cp = Character.codePointAt(str, i);
int charCount = Character.charCount(cp);
if (charCount > 1) {
i += charCount - 1; // 2.
if (i >= str.length()) {
throw new IllegalArgumentException("truncated unexpectedly");
}
}
if (cp < 128) {
retStr.appendCodePoint(cp);
} else {
retStr.append(String.format("\\u%x", cp));
}
}
return retStr.toString();
}
Dies gibt Ihnen den Unicode-Wert als eine Zeichenfolge, die Sie dann ersetzen können, wie Sie möchten.
'msg =" \ uD83D \ uDE0A ";' enthält eigentlich keine Backslashes. Das '\ u ####' wird zu einem [Unicode-Zeichen] kompiliert (http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#unicode) – khelwood
ya es a Unicode eines lachenden Smilies. Aber gibt es Möglichkeiten, wie in der Frage erwähnt? –
Was versuchst du eigentlich zu tun? Ersetze die Smileys durch einen Pipe-Charakter oder etwas anderes? –