jo 我想要 en对字符串进行编码,以便我可以将其重定向到网址。我最初使用 urlencoder 尝试过,但在 urldecoder 中,解码时 +(pl-6ren">
gpt4 book ai didi

java - java中的字符串编码

转载 作者:行者123 更新时间:2023-11-30 04:49:32 25 4
gpt4 key购买 nike

我有一个字符串 String a="123+>jo 我想要 en对字符串进行编码,以便我可以将其重定向到网址。我最初使用 urlencoder 尝试过,但在 urldecoder 中,解码时 +(plus) 被删除。所以我丢失了数据。

正确的编码方式是什么我在解码时也得到相同的字符串?

最佳答案

URLEncoder 工作完美。加号已成功编码为 %2B

编码:有效

这是 IDEONE 项目: http://ideone.com/zMDur

import java.net.URLEncoder;

// ...

public static void main (String[] args) throws java.lang.Exception
{
String str = "123+>jo";
String str2 = "http://1.com/23+>jo";
System.out.println(URLEncoder.encode(str));
System.out.println(URLEncoder.encode(str2));
}

打印:

123%2B%3Ejo
http%3A%2F%2F1.com%2F23%2B%3Ejo

编码+解码:有效

带有解码功能的 IDEONE 项目:http://ideone.com/Ypfv4

import java.net.URLEncoder;
import java.net.URLDecoder;

// ...

public static void main (String[] args) throws java.lang.Exception
{
String str = "123+>jo";
String str2 = "http://1.com/23+>jo";
System.out.println(URLDecoder.decode(URLEncoder.encode(str)));
System.out.println(URLDecoder.decode(URLEncoder.encode(str2)));
}

打印:

123+>jo
http://1.com/23+>jo
<小时/>

因此,使用 java.net.URLEncoderjava.net.URLDecoder 一切正常。

关于java - java中的字符串编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10151815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com