为了解决DisplayTag的问题,可能要使用这2个类了,本篇继续分析URL编码的问题

以下内容是我翻译的JDK的帮助。

URLEncoder类:

用于HTML的form中数据编码的类。

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

如果想了解HTML的编码细则,请参考HTML规范。

编码规则如下:

字符"a"-"z","A"-"Z","0"-"9",".","-","*",和"_" 都不被编码,维持原值,

空格" "被转换为加号"+"。

所有其他的字符都被认为是不安全的,首先都根据指定的编码scheme被转换为1个或者多个字节。[凭什么认为其他的字符都是不安全的?看来这些规范的制订者中没有中国人呀!]

然后每个字节都被表示成"%xy"格式的由3个字符组成的字符串,xy是字节的2位16进制的表达(xy is the two-digit hexadecimal representation of the byte),推荐的编码scheme为UTF-8,然而,出于兼容性的考虑,如果没有制定编码的scheme,那么将使用当前操作系统的编码的scheme。

如:如果编码scheme是UTF-8,

"The string ü@foo-bar"将被转换为"The+string+%C3%BC%40foo-bar" 。

因为载UTF-8中字符ü被编码成2个字节C3 (十六进制) 和BC (十六进制), 字符@被编码成一个字节40 (十六进制)。

起始于:JDK1.0

这个类共有2个重载方法:

public static String encode(String s,  String enc)  throws UnsupportedEncodingException。起始于:JDK1.4

和即将被废弃的方法:public static String encode(String s)。(因为这个方法的编码的字符集依赖于程序运行的系统的默认的字符集)。

第一个方法的作用是:根据指定的encode scheme 将一个字符串翻译成application/x-www-form-urlencoded格式。

注意: W3C推荐UTF-8。

参数:

s - 将要被翻译的字符串。

enc - 编码用的character。

返回:翻译后的字符串。

抛出异常: UnsupportedEncodingException - 如果不支持制定的编码

起始于:1.4

另请参考:URLDecoder.decode(java.lang.String, java.lang.String)

类URLDecoder的作用和URLEncoder的作用相反,方法类似,这里就不再赘述了。

如果你想知道你的字符串被编码后的值是什么样,你可以打开www.baidu.com,然后输入你要编码后的数值,然后提交,你可以在地址栏看到你被编码后的字符串,这个方法是Jason告诉我的,呵呵!

如果想解决DisplayTag的问题,就要修改源代码了,下一步就是读源代码,头疼ing......

兔八哥

2005-2-2下午16:30

java urlencoder_Java中的URLEncoder和URLDecoder类相关推荐

  1. java urlencoder,java中的URLEncoder和URLDecoder类

    java中的URLEncoder和URLDecoder类 URLEncoder类包含将字符串转换为application/x-www-form-urlencoded MIME 格式的静态方法. 为了解 ...

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

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

  3. java 声明是否合法,一个合法的Java源程序中定义了4个类,其中属性为public的类可能有( )个...

    问题:一个合法的Java源程序中定义了4个类,其中属性为public的类可能有( )个 更多相关问题 在平面几何里,有勾股定理:"设的两边互相垂直,则"拓展到空间,类比平面几何的勾 ...

  4. 知其然(3)*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public

    *.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public. 测试1:文件名Dog.java,文件内容如下:[2个类均为public] public class Dog{Dog(){ ...

  5. 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?

    java教程中有一句话叫做"在同一个源程序中只能有一个public类"---- 应该理解为只有一个public类的名字与文件名一致. 一个.java源文件中可以有多个类吗?(内部类 ...

  6. 为什么一个java源文件中只能有一个public类

    多个public类 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同. 原因 ...

  7. 浅谈Java项目中要不要使用实体类

    问题背景:   经过在学校的努力学习,2021届菜鸟毕业喽.终于踏上了接受社会毒打的历程,毕业后入职第一家公司,欢天喜地的打开项目准备写下毕业后的第一套增删改查,然后emmmmmmm   公司的项目中 ...

  8. 道听途说——JAVA文件中只能含有一个Public类

    java程序是从一个public类的main函数开始执行的 就像C程序是从main()函数开始执行一样. 只能有一个public类是为了给类装载器提供方便. 一个public类只能定义在以它的类名为文 ...

  9. java开发中spring常用的工具类

    内置的resouce类型 UrlResource ClassPathResource FileSystemResource ServletContextResource InputStreamReso ...

最新文章

  1. 7000 字精华总结,Pandas/Sklearn 进行机器学习之特征筛选,有效提升模型性能
  2. 面对“超人革命”,我们是否已做好准备?
  3. androidsettitle方法_Android使用setCustomTitle()方法自定义对话框标题
  4. nyoj_518_取球游戏_201404161738
  5. anychart java实例_在.Net开发中使用AnyChart的简单例子(上)
  6. 华大基因茅矛:云计算让精准医疗走进生活
  7. 神舟电脑装linux双系统,个人windows10和Ubuntu18.04游戏笔记本uefi双磁盘双系统安装过程...
  8. jeecg-mybatis-framework 参考学习版本
  9. 盖茨为什么会要求对机器人收税?
  10. oracle监听器启动停止,Oracle 10g 监听器启动后停止的解决办法
  11. Vbs判断两个Excel文件的内容--将两个Excel文件相同内容写入新建的Excel文件内
  12. CentOS 6.5 yum安装mysql5.6或其他版本【默认yum只能安装mysql 5.1】 by jason
  13. Python最吃香的5个就业方向,薪资收入也非常可观!
  14. 田野调查手记·浮山摩崖石刻(七)
  15. 板载RAID、RAID卡与RAID控制器
  16. Akka and Actors
  17. 大湾区国际创客峰会暨MFSZ2021重磅回归!
  18. 大数据助力证券业预判未来
  19. 微信公众号怎么发PDF?
  20. 微信小程序 上滑加载和下拉刷新

热门文章

  1. 从零手写VIO(7)
  2. easyui tree 检索树节点(3)
  3. 华为MateStation现身 机器的+工作原理可能与三星DeX很相似
  4. 网站压力性能免费在线测试:阿里云PTS,Load Impact,loader.io服务器负载能力测试
  5. CapsNet入门系列之三:囊间动态路由算法
  6. python闯关训练营怎么样3.0_【新升级】3周!0基础Python量化投资!闯关式学习打卡,解锁新技能!...
  7. 如何选择物联网智能井盖网关?
  8. ThinkPad E430c 2G内存升级为4G【本机硬件信息备份+拆机图】
  9. 前端——给button制作一个简单的爱心特效(2)
  10. ❤️【Android精进之路-02】安装Android Studio,认识Android SDK,一步步学习❤️