Từ những gì tôi hiểu, bạn muốn có được biểu diễn unicode của một chuỗi. Để làm điều đó bạn có thể sử dụng câu trả lời từ here.
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();
}
Điều này sẽ cung cấp cho bạn giá trị unicode dưới dạng Chuỗi mà bạn có thể thay thế theo ý muốn.
'msg =" \ uD83D \ uDE0A ";' không thực sự chứa bất kỳ dấu gạch chéo ngược nào. '\ U ####' được biên dịch thành [ký tự unicode] (http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#unicode) – khelwood
ya unicode cười cười. Nhưng liệu có bất kỳ lựa chọn nào để làm như đã đề cập trong câu hỏi không? –
Bạn đang cố gắng làm gì - thay thế các biểu tượng mặt cười bằng ký tự ống, hoặc cái gì khác? –