Может ли кто-нибудь прояснить кодировку юникода Гсона?

В следующем минималистическом примере:

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 действительно работает и дает строку «Апостроф :'», а не «Апостроф :\u0027». Как мне расшифровать его, чтобы получить тот же результат?

И дополнительный вопрос, почему случайный символ юникода, такой как ش, не кодируется аналогичным образом?

27
задан Miquel 6 July 2012 в 11:17
поделиться