有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从utf8表示的字符串中获取源字符串

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

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

我试着使用URL解码器。decode(),但它不工作,它输出的正是输入的内容。有什么建议吗?这是utf-8显式编码的字符串对象,它不是inputStream或其他东西。我做了一些搜索工作,发现很少相关


共 (5) 个答案

  1. # 1 楼答案

    可以使用Gson将它们转换为映射

  2. # 3 楼答案

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

    JDK有一个转换工具:

    native2ascii -encoding UTF-8 -reverse mypage.json plain-utf8.json
    
  3. # 4 楼答案

    这就是JSON编码,它以特定的方式处理特定的字符。它不是URL编码,因此不起作用

    为什么不尝试使用JSON库呢json simpleGSON是一个很好的开始

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