java实现url转码、解码
来源:互联网 发布:淘宝进口食品货源 编辑:程序博客网 时间:2024/06/06 20:22
URL由来:
一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址 “http://www.abc.com”,但是没有希腊字母的网址“http://www.aβγ.com”(读作阿尔法-贝塔-伽玛.com)。这是 因为网络标准RFC 1738 做了硬性规定:
"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."
“只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*'(),”[不包括双引号]、以及某些保留字,才可以不经过编码直接用于 URL。”
这意味着,如果URL中有汉字,就必须编码后使用。但是麻烦的是,RFC 1738没有规定具体的编码方法,而是交给应用程序(浏览器)自己决定。这导致“URL编码”成为了一个混乱的领域。
下面就让我们看看,“URL编码”到底有多混乱。我会依次分析四种不同的情况,在每一种情况中,浏览器的URL编码方法都不一样。把它们的差异解释 清楚之后,我再说如何用Javascript找到一个统一的编码方法。
具体代码如下:(切记切记,一定要注意编码)
package com.util;import java.io.UnsupportedEncodingException;/** * url转码、解码 * * @author lifq * @date 2015-3-17 下午04:09:35 */public class UrlUtil { private final static String ENCODE = "GBK"; /** * URL 解码 * * @return String * @author lifq * @date 2015-3-17 下午04:09:51 */ public static String getURLDecoderString(String str) { String result = ""; if (null == str) { return ""; } try { result = java.net.URLDecoder.decode(str, ENCODE); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return result; } /** * URL 转码 * * @return String * @author lifq * @date 2015-3-17 下午04:10:28 */ public static String getURLEncoderString(String str) { String result = ""; if (null == str) { return ""; } try { result = java.net.URLEncoder.encode(str, ENCODE); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return result; } /** * * @return void * @author lifq * @date 2015-3-17 下午04:09:16 */ public static void main(String[] args) { String str = "测试1"; System.out.println(getURLEncoderString(str)); System.out.println(getURLDecoderString(str)); }}
阅读全文
0 0
- java实现url转码、解码
- js/java url转码/解码
- Java实现的URL编码和解码技术
- Java实现的URL编码和解码技术
- VC实现URL编解码
- url转码 解码操作
- java url编码与解码
- java--URL编码和解码
- delphi 实现URL编码解码函数
- 实现URL编码解码的python程序
- linux shell实现URL 编码/解码
- URL编解码C语言实现
- delphi 实现URL编码解码函数
- C++ 实现URL 编码/解码代码
- C#实现Url编码和解码
- C#实现Url编码和解码
- JAVA 对 URL 进行 编码与解码
- java javascript url编码和解码
- SpringMVC对静态资源的的处理
- jzoj4216. 【NOIP2015模拟9.12】平方和(splay+码量)
- 正则表达式
- Peewee中文文档【五】:贡献
- (6)用户、组与权限管理
- java实现url转码、解码
- HDOJ 4975 A simple Gaussian elimination problem【最大流Dinic+判环】
- python学习小记
- Android 全局背景音乐
- UNIX网络编程卷1:套接字联网-第4章:基本TCP套接字编程1
- Eclipse设置
- 关于 opencv 中的直方图
- 如何使用ffmpeg分离视频和音频t
- 动态规划