java的web开发中URLEncoder.encode方法

java的web开发中URLEncoder.encode方法一:我们先看2个编码的情况Stringname=java.net.URLEncoder.encode(“测试”,”UTF-8″);System.out.println(name);name=java.net.URLEncoder.encode(name,”UTF-8″);System.o…

大家好,又见面了,我是你们的朋友全栈君。

一: 我们先看2个编码的情况

            String name=java.net.URLEncoder.encode(“测试”, “UTF-8”);
            System.out.println(name);
            name=java.net.URLEncoder.encode(name,”UTF-8″);
            System.out.println(name);
            name=java.net.URLDecoder.decode(name, “UTF-8”);
            System.out.println(name);
            System.out.println(java.net.URLDecoder.decode(name, “UTF-8”));

输出结果是
            %E6%B5%8B%E8%AF%95
            %25E6%25B5%258B%25E8%25AF%2595
            %E6%B5%8B%E8%AF%95
            测试

二; 我们来看编码一次,提交给服务器的结果

我们吧“测试”编码一次的字符串%E6%B5%8B%E8%AF%95  ,提交,服务器端用request.getParameter(“name”)的到参数,然后我们解码

System.out.println(java.net.URLDecoder.decode(name, “UTF-8”));

我们发现得到的结果 ???è?  显示乱码。

因为在request.getParameter(“name”)之前会自动做一次解码的工作,而且是默认的ISO-8859-1,相当于调用了一次java.net.URLDecoder.decode(name, “ISO-8859-1”)

所以我们再用URLDecoder.decode(name, “UTF-8”)就是乱码了。

三: 我们在看编码2次,提交给服务器的结果

编码2次的字符串是%25E6%25B5%258B%25E8%25AF%2595 ,服务器端用request.getParameter(“name”)的到参数,自动按ISO-8859-1解码得到的串是%E6%B5%8B%E8%AF%95  ,也就是编码一次得到的字符串。

然后,我们在System.out.println(java.net.URLDecoder.decode(name, “UTF-8”));解码输出,得到的结果就是 “测试” 2个汉字。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年6月15日 下午2:46
下一篇 2022年6月15日 下午2:46


相关推荐

  • 原生android系统官网 source.android.com,存储  |  Android 开源项目  |  Android Open Source Project…「建议收藏」

    原生android系统官网 source.android.com,存储  |  Android 开源项目  |  Android Open Source Project…「建议收藏」Android一直在不断发展,可支持各种存储设备类型和功能。所有Android版本均支持配有传统存储(包括便携式存储和模拟存储)的设备。便携式存储是指物理介质(如SD卡或USB设备),用于进行临时数据传输/文件存储。物理介质可以随设备一起保留更长时间,但并非固定在设备上,可以移除。自Android1.0开始,SD卡已可用作便携式存储;Android6.0增加了对USB…

    2022年6月19日
    234
  • bit rate / frame rate /sample rate等等

    bit rate / frame rate /sample rate等等原文地址码率:Bit Rate,指视频或音频文件在单位时间内使用的数据流量,该参数的单位通常是Kbps,也就是千比特每秒。通常2000kbps~3000kbps就已经足以将画质效果表现到极致了。码率参数与视频文件最终体积大小有直接性的关系。 (编码码率—软件)  混合码率:Overall Bit Rate,指视频文件中视频和音频混合后的整体平均码率。一般描述一个视频文件的码率都是指

    2022年10月17日
    4
  • 科大讯飞亮相GMIF2025,发布星火AIPC重塑办公新范式

    科大讯飞亮相GMIF2025,发布星火AIPC重塑办公新范式

    2026年3月14日
    2
  • powerbi怎么连接数据库_手机数据库APP

    powerbi怎么连接数据库_手机数据库APPbWAPP安装包下载:https://sourceforge.net/projects/bwapp/在已经安装好lamp环境的虚拟机上,将bWAPP安装包解压后放在/var/www/html目录下,更改配置文件/bWAPP/admin/下的settings.php文件,如图:访问一下:https://172.17.8.123/bWAPP/bWAPP/install.phphttps://IP地址/html下的bWAPP文件夹/bWAPP/install.php点击安装bWAPP:安装成功:点击

    2026年2月22日
    7
  • java反射机制原理详解

    java反射机制原理详解????Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)????基础推荐:Java基础教程系列????实战推荐:SpringBoot基础教程????简介:Java领域优质创作者????、CSDN哪吒公众号作者✌、Java架构师奋斗者????????扫描主页左侧二维码,加入群聊,一起学习、一起进步????欢迎点赞????收藏⭐留言????目录一、前情提要1、需求由于某种原因,您可能在项目中遇到类似的需求:你需要读取一个文件,比

    2022年8月24日
    5
  • 微信小程序:mpvue+flyio「建议收藏」

    微信小程序:mpvue+flyio「建议收藏」微信小程序:mpvue+flyiompvue项目创建1、全局安装vue-clinpminstall–globalvue-cli2、创建一个基于mpvue-quickstart模板的新项目vueinitmpvue/mpvue-quickstartmy-project//这是vue旧版本创建项目方法,如果init报错需要运行vueinit,创建项目过程中跟着命令行…

    2025年10月6日
    5

发表回复

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

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