在下面的簡約例如:有人可以澄清Gson的unicode編碼嗎?
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"
}
}
撇號被它所取代的打印輸出Unicode表示。但是,從toJson
方法返回的字符串字面上具有字符'\','u','0','0','2','7'。
使用json對其進行解碼實際上工作並給出字符串「Apostrophe:」,而不是「Apostrophe:\ u0027」。我應該如何解碼才能得到相同的結果?
還有一個問題,爲什麼沒有隨機的unicode字符,比如Ô獲得相似的編碼?
謝謝!此外,只是看到JsonReader使用'JsonReader.readEscapeCharacter()'解碼這些字符,實際上看起來相當複雜。非常感謝! – Miquel 2012-07-06 12:13:52