【问题标题】:How to convert special characters, "Fran%c3%a7ais" -> "Français"? [duplicate]如何转换特殊字符,“Fran%c3%a7ais”->“Français”? [复制]
【发布时间】:2012-12-04 17:11:07
【问题描述】:

可能重复:
How to do URL decoding in Java?

我有字符串“Fran%c3%a7ais”。如何将其转换为正确的“Français”?

【问题讨论】:

    标签: java android encoding character-encoding encode


    【解决方案1】:

    试试URLDecoder:

    URLDecoder.decode(String s)

    根据文档,该功能已被弃用,因此您需要使用此功能:

    public static String decode(String s, String enc) throws UnsupportedEncodingException
    

    例子:

    String decoded = URLDecoder.decode("Fran%c3%a7ais", "UTF-8");
    

    【讨论】:

    • 此方法已弃用。你可以使用URLDecoder.decode("Fran%c3%a7ais", "UTF-8");
    • @assylias 我编辑了它并提到了编码方案参数。这没有被弃用。
    【解决方案2】:

    这看起来像百分比编码的 UTF-8。对于(百分号)+(十六进制数字)+(十六进制数字)的每个最大序列,首先将其转换为字节,将每对十六进制数字编码一个字节;然后将生成的字节序列解释为实际文本的 UTF-8 编码。

    【讨论】:

    • 这太复杂了,可能已经用 API 完成了。
    • @ihsoyih:答案描述了 API 的实现是做什么的,即使暂时不需要明确编码,了解它也很有用。
    猜你喜欢
    • 2013-08-23
    • 2017-05-02
    • 2018-03-10
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多