java urlencoder,java中的URLEncoder和URLDecoder类「建议收藏」

java urlencoder,java中的URLEncoder和URLDecoder类「建议收藏」java中的URLEncoder和URLDecoder类URLEncoder类包含将字符串转换为application/x-www-form-urlencodedMIME格式的静态方法。为了解决web设计中不同操作系统间的差异性,我们在URL中使用的字符就必须是一个ASCII字符集的固定字集中的元素,具体如下:1.大写字母A-Z2.小写字母a-z3.数字0-94.标点符-_.!~…

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

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

两种关�

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148696.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 树莓派4B安装tensorflow2.0[通俗易懂]

    树莓派4B安装tensorflow2.0[通俗易懂]这个GitHub上可以下载到tensorflow2.x:https://github.com/lhelontra/tensorflow-on-arm/releases我就拿我下载的举例子吧:我下载的是这个版本的:tensorflow-2.0.0-cp37-none-linux_armv7l.whl1、把下载的这个tensorflow-2.0.0-cp37-none-linux_armv7l.whl文件放进树莓派里边,cd到你拖进的那一目录下(我是拖到Desktop,所以是:cdDesktop),命令行

  • iPhone手机屏幕分辨率(苹果手机最大的屏幕尺寸)

    第一代iPhone2G屏幕为3.5英吋,分辨率为320*480像素,比例为3:2。第二代iPhone3G屏幕为3.5英吋,分辨率为320*480像素,比例为3:2。第三代iPhone3GS屏幕为3.5英吋,分辨率为320*480像素,比例为3:2。第四代iPhone4屏幕为3.5英吋,分辨率为960*640像素,比例为3:2,比之前三代像素增加,但屏幕比例没变化。第五代iPhone…

  • B/S架构及其运行原理

    目录一.B/S的概念二.B/S工作原理三.B/S的优点:四.B/S体系结构的特点:五.与传统C/S的联系与区别:一.B/S的概念B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分…

  • 详细讲解 移植Uboot到ARM9开发系统上

    详细讲解 移植Uboot到ARM9开发系统上首先了解ARMer9开发系统硬件设计上和三星原装SMDK2410之间的区别。让uboot在ARMer9开发系统上跑起来,目前只需要关注如下的硬件区别,解决了下面这个问题,uboot就可以在ARMer9开发系统上正常地从串口输出,进入提示符。很多命令都可以使用,当然有些命令需要做修改。 SMDK2410:norFlash是AMD的1M的;ARMer9:是IntelE28F

  • Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

    Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」版权声明:本文为博主原创文章,遵循CC4.0by-sa版权协议,转载请附上原文出处链接和本声明。…

  • pycharm git使用_pycharm上传github

    pycharm git使用_pycharm上传githubpycharm操作git一、git安装和使用​ 安装操作:https://www.cnblogs.com/ximiaomiao/p/7140456.html1.如何使用git将本地代码上传到远程仓库初始化gitinit查看当前仓库状态gitstatus将项目的文件添加到仓库中gitadd<文件名>gitadd.(上传所有文件)将add的文件commit到仓库gitcommit-m”备注”将本地仓库关联到远程仓库gi

发表回复

您的电子邮箱地址不会被公开。

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