java中的URLEncoder和URLDecoder类

URLEncoder类包含将字符串转换为application/x-www-form-urlencoded MIME 格式的静态方法。

为了解决web设计中不同操作系统间的差异性,我们在URL中使用的字符就必须是一个ASCII字符集的固定字集中的元素,具体如下:

1.大写字母A-Z

2.小写字母a-z

3.数字 0-9

4.标点符 - _ . ! ~ * ' (和 ,)

诸如字符: / & ? @ # ; $ + = 和 %也可以被使用,但是它们各有其特殊的用途,如果一个文件名包括了这些字符( / & ? @ # ; $ + = %),这些字符和所有其他字符就应该被编码。

编码过程非常简单,任何字符只要不是ASCII码数字,字母,或者前面提到的标点符,它们都将被转换成字节形式,每个字节都写成这种形式:一个“%”后面跟着两位16进制的数值。

空格是一个特殊情况,因为它们太平常了。它除了被编码成“%20”以外,还能编码为一个“+”。加号(+)本身被编码为%2B。当/ # = & 和?作为名字的一部分来使用时,而不是作为URL部分之间的分隔符来使用时,它们都应该被编码。

类URL并不自动执行编码或解码工作。你能生成一个URL对象,它可以包括非法的ASCII和非ASCII字符和/或%xx。当用方法getPath() 和toExternalForm( ) 作为输出方法时,这种字符和转移符不会自动编码或解码。你应对被用来生成一个URL对象的字符串对象负责,确保所有字符都会被恰当地编码。

幸运的是,java提供了一个类URLEncoder把string编码成这种形式。Java1.2增加了一个类URLDecoder它能以这种形式解码string。这两个类都不用初始化:

public class URLDecoder extends Object

public class URLEncoder extends Object

一、URLEncoder

在java1.3和早期版本中,类java.net.URLEncoder包括一个简单的静态方法encode( ), 它对string以如下规则进行编码:

public static String encode(String s)

这个方法总是用它所在平台的默认编码形式,所以在不同系统上,它就会产生不同的结果。结果java1.4中,这个方法被另一种方法取代了。该方法要求你自己指定编码形式:

public static String encode(String s, String encoding) throws UnsupportedEncodingException

两种关�

java urlencoder,java中的URLEncoder和URLDecoder类相关推荐

  1. java在集合中的方法变动的类_java中级面试题 之基础篇

    一.Java基础 1. 实例方法和静态方法有什么不一样? 1.在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方 ...

  2. java怎么调用同包变量,Java并发包中的原子变量操作类

    JUC并发包提供了一系列的原子操作类,这些类都是使用非阻塞算法(CAS)实现的,相比于使用锁来实现,这些原子操作类在性能上更好一些. JUC并发包中包含有AtomicInteger.AtomicLon ...

  3. d在java那个包中_处理日期的类在Java的哪个包中()A、java.utilB、java.ioC、java.langD...

    一般曳引机三点连接举升装置的液压缸是采用(). 在税控服务器管理系统中,以下描述错误的是() "去繁求简.去粗存精",是指什么变化表现方法() 当一个实际电压源(戴维宁电路)对外开 ...

  4. java.io包对象读写_java.io 包中的____________和____________类主要用于对对象(Object)的读写_学小易找答案...

    [多选题]连铸钢水成分控制的要求有( ). [单选题]起动机用直流电动机将电能转化为 [单选题]下列关于我国少数民族传统禁忌的说法中,错误的是( ). [多选题]下列选项中 , 属于表单控件的是 ( ...

  5. java system.nanotime_java中的System.nanoTime与System.currentTime

    ns(nanosecond):纳秒, 时间单位.一秒的10亿分之一,即等于10的负9次方秒.常用作 内存读写速度的单位,其前面数字越小则表示速度越快. 1纳秒=1000 皮秒 1纳秒 =0.001   ...

  6. 夯实Java基础系列9:深入理解Class类和Object类

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  7. 【java】Java教程

    文章目录 教程 简介 主要特性 Java 语言是简单的: Java 语言是面向对象的: Java语言是分布式的: Java 语言是健壮的: Java语言是安全的: Java 语言是体系结构中立的: J ...

  8. Java之URLEncoder和URLDecoder类使用小记

    网页中的表单使用POST方法提交时,数据内容是application/x-www-form-urlencoded类型. 从普通字符串到编码到application/x-www-form-urlenco ...

  9. java url内容加密_java URLEncoder和URLDecoder 网络数据传输加密

    /* 网页中的表单使用POST方法提交时,数据内容的类型是application/x-www-form-urlencoded,这种类型会: 1.字符"a"-"z" ...

最新文章

  1. Vue.js的复用组件开发流程
  2. Visual Tracking:运行ECO模型
  3. python程序员脱单攻略_520 情人节 :属于 Python 程序员的脱单攻略大合集(视频版)...
  4. SQL Server 负载均衡集群(转)
  5. java 集合addall_Java集合的addAll()方法和示例
  6. shell的简单应用
  7. 迅雷极速与旋风的对比
  8. 目标跟踪算法MOSSE笔记
  9. 用VBA代码打开xls文件时,判断被打开的xls文件是否含VBA代码并禁止其运行
  10. 4G通信简单验证(合宙Air720H)
  11. 电子邮件格式详细介绍
  12. 英孚教育APP应用获全球杰出商业银奖
  13. 你的能力是更适合做微商还是淘宝
  14. 淘宝小程序(商家应用)开发提前需要了解的一些概念
  15. 2021年吉林艺术高考成绩查询,2021年吉林艺术学院高考录取结果什么时候出来及查询系统入口...
  16. 智能语音机器人源码优势
  17. 类器官——从 2D 到 3D 的进阶
  18. 开始VT-x各种电脑进入BIOS界面按什么?
  19. Omnifocus使用1【基础篇】
  20. Altium Designer(AD)软件使用记录06-原理图部分

热门文章

  1. 美团面试——算法岗(4个面试案例)
  2. sinoces 2013 消费电子
  3. 电脑开机就一直自动修复,固态硬盘突然变成RAW格式,怎么数据恢复(未解决)
  4. Nexus 安装和部署
  5. 【良品】运维实施工程师面试题
  6. 使用pheatmap画热图报错
  7. jq兄弟选择器及节点
  8. python的数字运算_Python基础语法——数字运算
  9. JavaScript中实现sleep睡眠函数的几种简单方法
  10. Idea svn使用图文详解