私はURLDecoder
いくつかの URL を分析するクラスで Java で少し遊んでいますが、問題が発生しました。バグなのか予想通りの動作なのかよくわからないので、ここに載せておきます。
次のURL を検討してください: https://id2.s.nfl.com/fans/mobile/login?gigyresp=true&city= S%u00e3o+Paulo%2c+Brazil &profileURL=...
URLDecoder
「São Paulo」の部分、特に「ã」が「%u0」としてエンコードされているようです。他のほとんどのものはうまく処理されているように見えますが、これはそうではありません。
私は以下を使用しています:
URLDecoder.decode(url, "UTF-8");
私のスタックトレースは次のとおりです。
Caused by: java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u0"
at java.net.URLDecoder.decode(URLDecoder.java:173)
URLDecoder
これを正しく解析する方法はありますか?