Java 有人能澄清一下Gson';什么是unicode编码?

Java 有人能澄清一下Gson';什么是unicode编码?,java,unicode,gson,Java,Unicode,Gson,在以下简约示例中: 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.o

在以下简约示例中:

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”。我应该如何解码以获得相同的结果


还有一个问题,为什么像ش这样的随机unicode字符编码方式不一样?

默认情况下,gson unicode会转义某些字符,其中
就是其中之一。(有关完整列表,请参见中的
HTML\u SAFE\u REPLACEMENT\u CHARS

要禁用此功能,请执行以下操作:

builder.disableHtmlEscaping();

谢谢另外,刚才看到JsonReader使用
JsonReader.readEscapeCharacter()
对这些字符进行解码,这实际上看起来相当复杂。谢谢!