JAVA使用URLEncoder、URLDecoder编码解码

JAVA使用URLEncoder、URLDecoder编码解码JAVA 使用 URLEncoder URLDecoder 编码解码

URLEncoder、URLDecoder编码解码

public static void main(String[] args) { 
    String a = "欢迎你"; try { 
    //编码(后端传给前端数据之前要先 URLEncoder) String b = URLEncoder.encode(a, "UTF-8"); System.out.println(b); //解码(前端传给后端数据,后端接收后要先 URLDecoder) String c= URLDecoder.decode(b, "UTF-8"); System.out.println(c); } catch (UnsupportedEncodingException e) { 
    // TODO Auto-generated catch block e.printStackTrace(); } } 

自己在代码中远程调用应用实例:

远程调用的是这个add接口已经编码 //新增商品维修记录 @PostMapping(value = "/add") public U_result create(@RequestParam(value = "data", defaultValue = "") String data) { 
    U_result ret = new U_result(); data = URLDecoder.decode(data); DeviceAlarmData _info = JSON.parseObject(data, DeviceAlarmData.class); _info = dataService.addData(_info); if (null != _info) { 
    ret.suc(_info); } else { 
    ret.err("系统错误!"); } return ret; } 

所以此处调用要进行解码

 DeviceAlarmData deviceAlarmData = new DeviceAlarmData(); deviceAlarmData.setDeviceId(item.getId()); deviceAlarmData.setName(names); deviceAlarmData.setAlarmDateTime(times); deviceAlarmData.setAlarmLvId(alarmLvId); deviceAlarmData.setAlarmContent(alarms); Map<String, Object> map = new HashMap<>(); map.put("data", URLEncoder.encode(JSON.toJSONString(deviceAlarmData))); HttpRequest.post(URL_PATH_3).form(map).send().charset("utf-8").bodyText(); 

测试类展示

public class URLDecoderTest { 
    public static void main(String[] args) throws Exception { 
    // 将application/x-www-form-urlencoded字符串转换成普通字符串 // 其中的字符串直接从上图所示窗口复制过来,chrome 默认用 UTF-8 字符集进行编码,所以也应该用对应的字符集解码 System.out.println("采用UTF-8字符集进行解码:"); String keyWord = URLDecoder.decode("%E5%A4%A9%E6%B4%A5%E5%A4%A7%E5%AD%A6+Rico", "UTF-8"); System.out.println(keyWord); System.out.println("\n 采用GBK字符集进行解码:"); System.out.println(URLDecoder.decode("%E5%A4%A9%E6%B4%A5%E5%A4%A7%E5%AD%A6+Rico", "GBK")); // 将普通字符串转换成application/x-www-form-urlencoded字符串 System.out.println("\n 采用utf-8字符集:"); String urlStr = URLEncoder.encode("天津大学", "utf-8"); System.out.println(urlStr); System.out.println("\n 采用GBK字符集:"); String urlStr2 = URLEncoder.encode("天津大学", "GBK"); System.out.println(urlStr2); } }/* Output: 采用UTF-8字符集进行解码: 天津大学 Rico 采用GBK字符集进行解码: 澶╂触澶у Rico 采用utf-8字符集: %E5%A4%A9%E6%B4%A5%E5%A4%A7%E5%AD%A6 采用GBK字符集: %CC%EC%BD%F2%B4%F3%D1%A7 *///:~ 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221710.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:27
下一篇 2026年3月17日 下午5:28


相关推荐

  • Elasticsearch搜索引擎之缓存:Request Cache

    Elasticsearch搜索引擎之缓存:Request Cache

    2021年10月5日
    127
  • iOS逆向入门实践 — 逆向微信,伪装定位(一)「建议收藏」

    iOS逆向入门实践 — 逆向微信,伪装定位(一)「建议收藏」ios微信定位,tweak,iosreverse

    2022年6月5日
    42
  • c语言处理excel表格_c语言一般文件的处理过程

    c语言处理excel表格_c语言一般文件的处理过程1写excel是.csv后缀,跳跃间隔符是‘\t’ FILE*fp; fp=fopen(“./test.csv”,”w”);//写 for(i=0;i<4;i++) fprintf(fp,”%c,%d,%d\n”,chy[i],data[i],d2); fclose(fp);2读指定位置读数,如倒序读数,从末尾向前读数!先看代码!倒序读最后一行的数据#include<bits/stdc++.h>#define

    2022年8月30日
    7
  • mysql ifnull函数消耗时间_MYSQL IFNULL函数的使用

    mysql ifnull函数消耗时间_MYSQL IFNULL函数的使用详参 自己产品的 FilesMapper xml 的 queryUsed 节点 IFNULL 函数是 MYSQL 数据库中最重要的函数之一 下面就对该函数的使用方面进行分析 希望对您能够有所帮助 下文对 MYSQLIFNULL 函数的使用进行了详细的叙述 供您参考学习 如果您在 MYSQLIFNULL 函数使用方面遇到过类似的问题 不妨一看 MYSQLIFNULL expr1 expr2 如果 expr1 不是 NU

    2026年3月17日
    2
  • GELU激活函数

    GELU激活函数论文 GAUSSIANERRO GELUS 项目 https github com hendrycks GELUsABSTRAC 本文提出了高斯误差线性单元 GELU 一个高性能的神经网络激活函数 GELU 激活函数为 x x x x x x 其中 x x x 为标准高斯累积分布函数 GELU 非线性根据输入的值来权重 而不是像 ReLUs x1x gt 0x1 x gt 0 x1x gt 0 那样通过符号来门输入 本文对 ReLU 和 ELU 激活的 G

    2026年3月19日
    1
  • 华为悦盒EC6108V9教程

    华为悦盒EC6108V9教程华为悦盒 EC6108V9 激活成功教程强刷教程 1 优盘和格式化 FAT32 格式 2 在优盘创建 updrade 文件夹 3 解压刷机包 找到 update zip 压缩包 然后放到 upgrade 文件夹中 或者放到根目录 4 打开电视盒子 开机短接 J15J16 出现安卓机器人 等待刷机完成 notes 电视盒子进入 REC 模式两种方法 a 开机按狂按左右 b 开机狂按待机键

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号