我有这样的字符串

String str = "\u0e04\u0e38\u0e13\u0e23\u0e39\u0e49\u0e21\u0e31\u0e49\u0e22\u0e44\u0e14\u0e42\u0e19";


实际上看起来像ช1: คุณรู้มั้ยไดโนเสาร์ตั

我想要的是将字符串保留为字符串格式,以便str.charAt(3)是'e'而不是一个奇怪的字符。

这该怎么做?救命

进一步说明:
我从文件中获取此字符串。我在文件中的一行读取了一个字符串,该行似乎是“ \ u0e04 \ u0e38 \ u0e13 \ u0e23 \ u0e39 \ u0e49 \ u0e21 \ u0e31 \ u0e49 \ u0e22 \ u0e44 \ u0e14 \ u0e42 \ u0e19”。因此在内存中,此字符串就是这样。

代码在这里:

FileReader fr = new FileReader("sample2.json");
BufferedReader br = new BufferedReader(fr);

String line;
while((line = br.readLine()) != null)
{
    JSONObject data = new JSONObject(line);
        String text = data.getString("text");


文件中的这一行是“ \ u0e04 \ u0e38 \ u0e13 \ u0e23 \ u0e39 \ u0e49 \ u0e21 \ u0e31 \ u0e49 \ u0e22 \ u0e44 \ u0e14 \ u0e42 \ u0e19”

现在,我想将字符串文本保留为其原始格式。

最佳答案

您只需要转义每个反斜杠:

String str = "\\u0e04\\u0e38...";

09-10 16:44