Trong ví dụ Minimalistic sau:Ai đó có thể làm rõ mã hóa unicode của Gson không?
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GsonStuff {
public static void main(String[] args) {
GsonBuilder builder = new GsonBuilder();
Gson gson = builder.create();
System.out.println(gson.toJson("Apostrophe: '"));
//Outputs: "Apostrophe: \u0027"
}
}
Các dấu nháy đơn được thay thế bởi nó đại diện unicode trong bản in. Tuy nhiên, Chuỗi được trả lại từ phương thức toJson
theo nghĩa đen có các ký tự '\', 'u', '0', '0', '2', '7'.
Giải mã bằng json thực sự hoạt động và cung cấp chuỗi "Apostrophe: '" thay cho "Apostrophe: \ u0027". Làm thế nào tôi nên giải mã nó để có được kết quả tương tự?
Và một câu hỏi khác, tại sao một ký tự unicode ngẫu nhiên chẳng hạn như ش được mã hóa tương tự?
Cảm ơn! Ngoài ra, chỉ cần thấy rằng JsonReader giải mã các ký tự như vậy bằng cách sử dụng 'JsonReader.readEscapeCharacter()', thực sự trông khá phức tạp. Cảm ơn rất nhiều! – Miquel