首页 > 其他分享 >解决URLEncoder.encode 编码空格变 + 号

解决URLEncoder.encode 编码空格变 + 号

时间:2023-04-14 09:35:47浏览次数:41  
标签:decode 00 URLEncoder 04 空格 2023 encode

jdk自带的URL编码工具类 URLEncoder 在对字符串进行URI编码的时候,会把空格编码为 + 号。
空格的URI编码其实是:%20
解决办法:对编码后的字符串,进行 + 号替换为 %20。总感觉这种方式不优雅。

使用spring提供的 UriUtils 来代替URLEncoder进行编码

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

import org.springframework.web.util.UriUtils;

public class MainTest {
	public static void main(String[] args) throws UnsupportedEncodingException {
		String encode = URLEncoder.encode("2023-04-13 00:00:00", "UTF-8");
        String decode = URLDecoder.decode("2023-04-13%2000%3A00%3A00", "UTF-8");
        String springEncode = UriUtils.encode("2023-04-13 00:00:00", "utf-8");
        String springDecode = UriUtils.decode("2023-04-13%2000%3A00%3A00", "utf-8");
        System.out.println("encode = " + encode);
        System.out.println("decode = " + decode);
        System.out.println("springEncode = " + springEncode);
        System.out.println("springDecode = " + springDecode);
	}
}

结果:

encode = 2023-04-13+00%3A00%3A00
decode = 2023-04-13 00:00:00
springEncode = 2023-04-13%2000%3A00%3A00
springDecode = 2023-04-13 00:00:00

标签:decode,00,URLEncoder,04,空格,2023,encode
From: https://www.cnblogs.com/qbbit/p/17317279.html

相关文章

  • UVa 112 Tree Summing (scanf()去空格&递归&二叉树遍历)
    112-TreeSummingTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=48BackgroundLISPwasoneoftheearliesthigh-levelprogramminglanguagesand,withFORTRAN,isoneoft......
  • java去掉字符串前面的空格
    Java去掉字符串前面的空格可以使用trim()方法,例如:Stringstr="helloworld";str=str.trim();//去掉前面的空格System.out.println(str);//输出"helloworld"trim()方法会返回去掉前后空格的字符串副本,原字符串不会发生改变。如果要去掉字符串中间的空格......
  • Rsut 不使用 'trim()' 为什么空格还是被存储
    在使用Rust的std::io::stdin()方法接收用户输入时,它实际上会将用户输入的字符作为一个字符串(String类型)存储在内存中。当用户键入一个字符并按下回车键时,std::io::stdin()会读取整行内容,包括回车符\r和换行符\n。这些字符都被包含在字符串中,而不是被忽略。因此,即使用户......
  • 剑指offer05(Java)-替换空格(简单)
    题目:请实现一个函数,把字符串s中的每个空格替换成"%20"。 示例1:输入:s="Wearehappy."输出:"We%20are%20happy." 限制:0<=s的长度<=10000来源:力扣(LeetCode)链接:https://leetcode.cn/problems/ti-huan-kong-ge-lcof著作权归领扣网络所有。商业转载请联系官方授权,......
  • 输入数据有多组,每组测试数据有 2 行,第 1 行为 1 个正整数,表示所生成的随机数的个数:N
    #include<iostream>#include<string>usingnamespacestd;voidsort(strings){chartmp[100];intlen=s.size();intcount=0,i,j;for(i=0;i<len;i++){for(j=i+1;j<len;j++){i......
  • 特殊混淆(AAEncode、JJEncode、JSFuck)还原
    对于obfuscator混淆,可以利用AST进行处理,此外还有一些比较特殊的混淆方式,如AAEncode、JJEncode、JSFuck特殊混淆1、AAEncode特征:将js代码转换成颜文字来表示示例网站:https://utf-8.jp/public/aaencode.html示例代码:゚ω゚ノ=/`m´)ノ~┻━┻//*´∇`*/['_'];o=(゚ー゚)=_=3;c=(゚Θ゚)=......
  • encodeURI()、encodeURIComponent()区别及使用场景
    一、URLURL是使用ASCII进行编码的,所以有些内容是不支持的,例如中文,URL会使用编码的手段将其转义为可解释内容。在URL中,合法字符分成两类。URL元字符:分号(;),逗号(,),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#) 语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪......
  • day8| 344.反转字符串;541.反转字符串II;剑指offer 05.替换空格;151.翻转字符串里的单词
    344.反转字符串 题目简述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组,使用O(1)的额外空间解决这一问题。 解题思路:没什么好说的,直接双指针 代码如下:classSolution:de......
  • HTTP Get请求的参数带空格如何处理
    在URL中,空格会被转义成%20,因此在GET请求的参数中,可以将空格替换为%20,或者使用加号(+)代替空格。这些特殊字符在URL中都有特殊的含义,因此需要进行编码,以便正确传递参......
  • linux 中 判断一组数据开头或者末尾是否有空格
     001、判断是否末尾有空格(base)[root@PC1test]#lsa.txt(base)[root@PC1test]#cata.txt##测试数据adgkuddgkdf,zdgdfe......