如何从utf-8表示的字符串中获取源字符串

时间:2013-04-16 08:49:02

标签: java utf-8

我有一个来自互联网的页面,内容是utf-8编码为字符串,可能是这样的:

{"has_more": true, "items": [{"body": "\u6ca1\u6709\u4f20\u8bf4\u4e2d\u7684\u90a3\u4e48\u597d",...}

我尝试使用URLDecoder.decode(),但它不起作用,它输出的输入正是如此。有什么建议?这是utf-8编码显式的String对象,它不是inputStream或sth。我做了一些搜索工作,发现没什么相关性。

5 个答案:

答案 0 :(得分:1)

这是JSON编码,以特定方式处理某些特定字符。它不是URL编码,因此无效。

为什么不尝试使用JSON库?开始时json simpleGSON是好事。

好奇心:这里描述了您所看到的编码:RFC4627

答案 1 :(得分:1)

源代码表示法是u编码的(\uXXXX),但字符串本身是一个无法区分的普通字符串(Java / JavaScript),如\n\t

JDK有一个转换工具:

native2ascii -encoding UTF-8 -reverse mypage.json plain-utf8.json

答案 2 :(得分:0)

您可以使用Gson将其转换为地图。

答案 3 :(得分:0)

查看Java中的库 - JSON in Java

答案 4 :(得分:0)

是的JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。

浏览http://www.json.org/java/