Java URLDecoder和URLEncoder
URLDecoder和URLEncoder用于完成普通字符串和application/x-www-form-urlencoded MIME字符串之间的相互转换。
https://www.baidu.com/s?ie=UTF-8&wd=%E4%BD%A0%E5%A5%BD
当URL地址里包含非西欧字符的字符串时,系统会将这些非西欧字符串转换成看似乱码的特殊字符串。编程过程中可能涉及普通字符串和这种特殊字符串的相关转换,这就需要使用URLDecoder和URLEncoder类。
➢ URLDecoder类包含一个decode(String s, String enc)静态方法,它可以将看上去是乱码的特殊字符串转换成普通字符串。
➢ URLEncoder类包含一个encode(String s, String enc)静态方法,它可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串。
参数解释:
s - 要转换(/被转换)的String。
enc – 支持的字符编码(/解码)的名称。
对字符串进行编码时,适用以下规则:
- 字母数字字符“ a ”到“ z ”、“ A ”到“ Z ”和“ 0 ”到“ 9 ”保持不变。
- 特殊字符“ . ”、“ - ”、“ * ”和“ _ ”保持不变。
- 空格字符“”被转换为加号“ + ”。
- 所有其他字符都是不安全的,首先使用某种编码方案将其转换为一个或多个字节。 然后每个字节由 3 个字符的字符串“ %xy ”表示,其中xy是字节的两位十六进制表示。 推荐使用的编码方案是 UTF-8。 但是,出于兼容性原因,如果未指定编码,则使用平台的默认编码。
例如:
使用 UTF-8 作为编码方案,
字符串“The string ü@foo-bar”
将被转换为
“The+string+%C3%BC%40foo-bar”,
因为在 UTF-8 中,字符 ü 被编码为两个字节 C3(十六进制)和 BC(十六进制),字符 @ 被编码为一个字节 40(十六进制)。
提示:
仅包含西欧字符的普通字符串和application/x-www-form-urlencoded MIME字符串无须转换,而包含中文字符的普通字符串则需要转换,转换方法是每个中文字符占两个字节,每个字节可以转换成两个十六进制的数字,所以每个中文字符将转换成“%XX%XX”的形式。当然,采用不同的字符集时,每个中文字符对应的字节数并不完全相同,所以使用URLEncoder和URLDecoder进行转换时也需要指定字符集。
测试:
try {//你好System.out.println(URLDecoder.decode("%E4%BD%A0%E5%A5%BD", "utf-8"));//%E4%BD%A0%E5%A5%BDSystem.out.println(URLEncoder.encode("你好", "utf-8"));} catch (UnsupportedEncodingException e) {e.printStackTrace();}
Java URLDecoder和URLEncoder相关推荐
- java 中文解码_java使用URLDecoder和URLEncoder对中文字符进行编码和解码
摘要: URLDecoder 和 URLEncoder 用于完成普通字符串 和 application/x-www-form-urlencoded MIME 字符串之间的相互转换.在本文中,我们以使用 ...
- java urlencoder,java中的URLEncoder和URLDecoder类
java中的URLEncoder和URLDecoder类 URLEncoder类包含将字符串转换为application/x-www-form-urlencoded MIME 格式的静态方法. 为了解 ...
- URLDecoder和URLEncoder的使用
一.为什么要使用URLDecoder和URLEncoder URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencoded ...
- Java URLDecoder.decode 加号变成空格
解决方法: 先URLEncoder.encode一下,然后再URLDecoder.decode,如图:
- java url内容加密_java URLEncoder和URLDecoder 网络数据传输加密
/* 网页中的表单使用POST方法提交时,数据内容的类型是application/x-www-form-urlencoded,这种类型会: 1.字符"a"-"z" ...
- Java程序设计——URLDecoder类和URLEncoder类(网络编程)
普通字符串和MIME字符串之间的转换工具:URLDecoder和URLEncoder工具类 URLDecoder工具类: 方法 功能 decode(String s, String enc) 将MIM ...
- URLEncoder.encode(str,编码) new URLDecoder().decode(str,编码)
try { String enUft = URLEncoder.encode("广东省福利彩票开奖信息网", & ...
- java的URLEncoder.encode() 疑问与解惑
疑问 空格变成了+? -*.不能转换url编码? 解惑 URL 编码通常使用加号(+)或 %20 替代空格. 如果要转换为%20,可以先进行转换编码,再替换 + 为 %20 **注意:**在JavaS ...
- URLEncoder和URLDecoder编码和解码
URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencoded MIME字符串之间的转换 URLDecoder类包含一个de ...
- Java基础部分笔记----------网络编程
2019独角兽企业重金招聘Python工程师标准>>> 1.Java网络基本支持 1.1 InetAddress Java中的InetAddress是一个代表IP地址的对象.IP地址 ...
最新文章
- 使对象具有ES6中Iterator接口的实现方法
- 软件回归测试及其实践
- 移动App的发展趋势
- 使用docker运行微信wechat的安装脚本
- 软件工程第一周预备作业
- 运动世界校园3.0版本逆向分析破解
- python网络测速_Linux下3种常用的网络测速工具
- 桑格测序服务市场现状及未来发展趋势
- 快速清除系统中的木马病毒
- Wireshark分析sql布尔盲注流量包
- R语言ggplot2可视化:使用ggpubr包的ggdensity函数可视化密度图、使用scale_x_continuous函数指定X轴坐标轴的取值范围(起始值和终止值)
- iOS第三方-Masonry使用技巧
- IDS入侵检测系统与开源IDS-snort的安装与编写规则
- 【Arduino】LCD 1602 转接板 的默认接线
- EMC VNX5400 File NAS证书过期问题
- Pandownload 下线了,我花了 30 分钟自己搭建了一个网盘!
- 宠辱不惊 闲看庭前花开花落
- 2022.02.24
- 个人博客后台系统分类管理
- 2022年四川建筑八大员(标准员)考试试题及答案