`

java URL encoding and decoding

    博客分类:
  • j2ee
 
阅读更多

1. URL编码 java提供了URLEncoder,URLDecoder类

eg:

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

public class EncoderDemo {	
	public static void main(String[] args){
		
		try {
			String url = "http://www.vjia.com/StyleDetail_244413_1083850_0/【Justyle】NanZhuangShiShangBaiDaBaoNuanZhuangSeLiLingZhuaRongWeiYi40113027.html";
			System.out.println("url:"+url);
			String eurl = URLEncoder.encode(url,"utf-8");
			System.out.println("eurl:"+eurl);
			String durl = URLDecoder.decode(url,"utf-8");
			System.out.println("durl:"+durl);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	}

}
 

 

2. HTML编码规则

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

    空格" "被转换为加号"+"。 
    所有其他的字符都被认为是不安全的,首先都根据指定的编码scheme被转换为1个或者多个字节 
    然后每个字节都被表示成"%xy"格式的由3个字符组成的字符串,xy是字节的2位16进制的表达,推荐的编码scheme为UTF-8. 
    所以URL中只要包含有不安全的字符都必须编码,服务端自动解码. 
    但是有些网站的URL确实又包含中文等不安全字符.一个是浏览器可能会自动编码,还有个就是在服务端处理. 

分享到:
评论

相关推荐

    python3.6.5参考手册 chm

    PEP 529: Change Windows filesystem encoding to UTF-8 PEP 528: Change Windows console encoding to UTF-8 PEP 520: Preserving Class Attribute Definition Order PEP 468: Preserving Keyword Argument ...

    mysql链数据库

    在MySQL中,Encoding是将字符转换为字节的过程,而Decoding是将字节恢复为字符的过程。理解这两者的关系对于处理字符集问题,特别是在跨语言环境下的数据传输至关重要。 23号文件提供了JAVA进销存系统设计的源码,...

    二维码源码

    主要保留`CaptureActivity.java`(用于摄像头取景)、`camera`包下的相机相关类、`decoding`和`encoding`包下的解码和编码类,以及`view`包下的取景框相关类。这些文件足以支持二维码的识别和生成。 4. **集成到...

    StringFunctionsPlugin:Intellij Idea插件,用于转换编码字符串

    IntelliJ IDEA作为一款强大的Java集成开发环境,提供了丰富的插件支持,使得开发者的工作效率得以大幅提升。其中,StringFunctionsPlugin就是这样一个专为字符串处理设计的插件,它极大地简化了我们在IDE内部进行...

    026-SVM用于分类时的参数优化,粒子群优化算法,用于优化核函数的c,g两个参数(SVM PSO) Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    铅酸电池失效仿真comsol

    铅酸电池失效仿真comsol

    小程序项目-基于微信小程序的童心党史小程序(包括源码,数据库,教程).zip

    Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven

    小程序项目-基于微信小程序的新生报到系统(包括源码,数据库,教程).zip

    Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven

    springboot124中药实验管理系统设计与实现.zip

    springboot124中药实验管理系统设计与实现,含有完整的源码和报告文档

    解除劳动合同协议书.doc

    解除劳动合同协议书

    快速过滤图像融合Matlab代码.rar

    快速过滤图像融合Matlab代码.rar

    强调图像中内核形状(例如直线)的过滤器Matlab代码.rar

    强调图像中内核形状(例如直线)的过滤器Matlab代码.rar

    linux离线安装redis

    在内网linux服务器安装redis 在Linux环境中离线安装Redis是常见的需求,尤其是在内网服务器上,由于无法直接访问公网,我们需要提前下载Redis的源码包并手动安装。下面将详细解释如何进行这一过程。

    019考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化 不能运行.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    微信小程序StartKitw_xapp-startkit.zip

    微信小程序StartKitw_xapp-startkit

    座位选择微信小程序版本.zip

    座位选择微信小程序版本

    机械臂代码_Mechanical_arm.zip

    机械臂代码_Mechanical_arm

    图像分割测试视频river-light.mp4

    图像分割测试视频river-light.mp4

    前端分析-2023071100789

    前端分析-2023071100789

    基于labview的生产者消费者循环源码.zip

    labview源码参考示例,可供参考学习使用

Global site tag (gtag.js) - Google Analytics