0

私はちょうどこのようなものに出くわしました:

String sample = "somejunk+%3cfoobar%3e+morestuff";

印刷すると、サンプルは次のようになります。

somejunk+ <foobar>+morestuff

それはどのように機能しますか?U+003c と U+003e は、それぞれ小なり記号と大なり記号の Unicode コードであり、偶然以上のように思えますが、Java が自動的にこのようなことを行うとは聞いたことがありません。Google にアクセスするのは簡単だと思っていたのですが、Google はパーセント記号を好まないことがわかりました。

4

3 に答える 3

1

あなたはこのようなことをすることができます、

    String sample = "somejunk+%3cfoobar%3e+morestuff";
    String result = URLDecoder.decode(sample.replaceAll("\\+", "%2B"), "UTF8");
于 2009-09-16T15:05:27.950 に答える
1

charJava はおよびリテラルでのUnicode エスケープをサポートしてStringいますが、URL エンコーディングはサポートしていません。

Unicode エスケープは use'\uXXXX'で、XXXX は 16 進数の Unicode ポイントです。

興味深い情報: 文法では'u'複数回使用できるため、これ'\uuuuuuuu0041'は有効な Unicode エスケープ ( の場合'A') です。

于 2009-09-16T16:59:21.050 に答える