Java中的properties配置文件可以使用这种格式
urlencode是什么

URL编码(URL encoding),也称作百分号编码(Percent-encoding), 是特定上下文的统一资源定位符 (URL)的编码机制。

适用于统一资源标识符(URI)的编码,也用于为"application/x-www-form-urlencoded" MIME准备数据, 因为它用于通过HTTP的请求操作(request)提交HTML表单数据。

编码原理

将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。

比如:

空格ASCII码是32,对应16进制是20,那么urlencode编码结果是:%20,但在新标准中空格对应的是+,见RFC-1738 比如:

中ASCII码是-10544,对应的16进制是D6D0,那么urlencode编码结果是:%D6%D0

内容说明

本函数将字符串以URL编码。例如空格就会变成加号。Homepage 中 form 资料传送就是用 urlencode 编码后再送出。

统一资源标识符(URI)所允许的字符分作保留与未保留,保留字符是那些具有特殊含义的字符。例如,斜线字符用于URL (或者更一般的, URI)不同部分的分界符,未保留字符没有这些特殊含义。百分号编码(Percent-encoding)把保留字符表示为特殊字符序列。上述情形随URI与URI的不同版本规格会有轻微的变化。

部分转换规则如下:

空格!#$%+@:=?
%20%21%23%24%25%2B%40%3A%3D%3F
ASP中的用法response.write Server.UrlEncode("要转码的内容")
PHP中的用法echo urlencode("要转码的内容");
JSP中的用法java.net.URLEncoder.encode("要转码的内容","UTF-8"); // 原来单参数方法已经过时。
C#/.net中的用法HttpContext.Current.Server.UrlEncode("转码的内容"); HttpUtility.UrlEncode(“转码的内容”);
VB.NET中的用法引用程序集System.Web 采用字符集GB2312来编码 Web.HttpUtility.UrlEncode("转码的内容", Encoding.GetEncoding("GB2312"))