urlencode

urlencode是一個函式,可將字元串以URL編碼,用於編碼處理。

URL編碼(URL encoding),也稱作百分號編碼(Percent-encoding), 是特定上下文的統一資源定位符 (URL)的編碼機制。

適用於統一資源標識符(URI)的編碼,也用於為"application/x-www-form-urlencoded" MIME準備數據, 因為它用於通過HTTP的請求操作(request)提交HTML表單數據。

基本介紹

  • 中文名:將字元串以URL編碼
  • 外文名:UrlEncode
  • 函式種類:編碼處理
  • 返回值:字元串
函式介紹,編碼原理,內容說明,用法,

函式介紹

UrlEncode:將字元串以URL編碼
返回值:字元串
函式種類:編碼處理

編碼原理

將需要轉碼的字元轉為16進制,然後從右到左,取4位(不足4位直接處理),每2位做一位,前面加上%,編碼成%XY格式。
比如:
空格ASCII碼是32,對應16進制是20,那么urlencode編碼結果是:%20,但在新標準中空格對應的是+,見RFC-1738
比如:
中ASCII碼是-10544,對應的16進制是FFFFFFFFFFFFD6D0,那么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中的用法:
Server.URLEncode("內容")
例:
<%
response.write Server.UrlEncode("要轉碼的內容")
%>
PHP中的用法:
urlencode("內容");
例:
<?
echo urlencode("要轉碼的內容");
?>
JSP中的用法:
URLEncoder.encode("要轉碼的內容");
<%
java.net.URLEncoder.encode("要轉碼的內容","UTF-8"); // 原來單參數方法已經過時。
%>
C#/.net中的用法:
HttpContext.Current.Server.UrlEncode("轉碼的內容");
VB.NET中的用法:
引用程式集System.Web
採用字元集GB2312來編碼
Web.HttpUtility.UrlEncode("轉碼的內容", Encoding.GetEncoding("GB2312"))。

相關詞條

熱門詞條

聯絡我們