010tools.comURL 在線編碼解碼工具(010tools 最好用的在線工具集合)


URL 編碼或解碼的結果:
日誌記錄:


什麼是URL編碼

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

URL的字符類型

URI所允許的字符分作保留未保留保留字符是那些具有特殊含義的字符,例如:斜線字符用於URL(或URI)不同部分的分界符;未保留字符沒有這些特殊含義。百分號編碼把保留字符表示為特殊字符序列。上述情形隨URI與URI的不同版本規格會有輕微的變化。

RFC 3986section 2.2保留字符(2005年1月)
!*'();:@&=+$,/?#[]
RFC 3986section 2.3未保留字符(2005年1月)
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789-_.~

保留字符的百分號編碼

如果一個保留字符在特定上下文中具有特殊含義(稱作"reserved purpose") , 且URI中必須使用該字符用於其它目的, 那麼該字符必須百分號編碼。百分號編碼一個保留字符,首先需要把該字符的ASCII的值表示為兩個16進制的數字,然後在其前面放置轉義字符("%"),置入URI中的相應位置。(對於非ASCII字符, 需要轉換為UTF-8字節序, 然後每個字節按照上述方式表示.)

對百分號字符的百分號編碼

由於百分號字符("%")表示百分號編碼字節流的存在, 因此百分號字符應該被編碼為3個字節的序列:"%25",用於URI內部。

任意數據的百分號編碼

大多數URI涉及表示任意數據, 例如 IP地址 或 文件系統 路徑作為URI的成分。

實例

我們要向https://www.010tools.com/api/urlencode發起GET請求,同時要向其傳遞參數input,值為:https://www.010tool.com/.

按照URL的編碼規範,我們需要將值https://www.010tools.com 進行URL編碼,其中包含保留字符: /,故要對: /進行百分號編碼,編碼後數據是:https%3A%2F%2Fwww.010tools.com%2F,最終構造的GET請求鏈接為: https://www.010tools.com/api/urlencode?input=https%3A%2F%2Fwww.010tools.com%2F