urlencode

urlencode是一個函式,可將字元串以URL編碼,用於編碼處理。 URL編碼(URL encoding),也稱作百分號編碼(Percent-encoding), 是特定上下文的統一資源定位符 (URL)的編碼機制。 適用於統一資源標識符(URI)的編碼,也用於為"application/x-www-form-urlencoded" MIME準備數據, 因為它用於通過HTTP的請求操作(request)提交HTML表單數據。

函式介紹

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("內容")

例:

PHP中的用法:

urlencode("內容");

例:

echo urlencode("要轉碼的內容");

?>

JSP中的用法:

URLEncoder.encode("要轉碼的內容");

C#/.net中的用法:

HttpContext.Current.Server.UrlEncode("轉碼的內容");

VB.NET中的用法:

引用程式集System.Web

採用字元集GB2312來編碼

Web.HttpUtility.UrlEncode("轉碼的內容", Encoding.GetEncoding("GB2312"))。

相關詞條

相關搜尋

熱門詞條

聯絡我們