更优雅的方式在输入流中解码\ u0000 Unicode

Ebo*_*ike 3 unicode android

我正在解析来自Facebook的输入流.我正在使用类似的东西

BufferedReader in =
    new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
Run Code Online (Sandbox Code Playgroud)

然后in.readLine实际从流中读取.

流似乎已经用ASCII编码的Unicode字符,所以我看到像\ u00e4(其中\ u实际上是两个离散的ASCII字符).现在,我正在捕获"\ u"并解码后续的两个十六进制字节,将它们转换为char并用它们替换字符串,这显然是最糟糕的方法.

我确信在读取流时使用本机函数解码特殊字符有一种很酷的方法(我希望它可以在InputStreamReader层完成).但是怎么样?

Ebo*_*ike 5

数据格式是JSON,我没有提到(以及Thanatos已经假设).使用Android的JSON解析器将自动正确解码字符.在几个层面上解析JSON本身显然是一个愚蠢的想法.