HTML URL 編碼

URL 編碼是一種對 URL 資訊進行編碼的過程,以便可以通過 Internet 安全地進行傳輸。

什麼是 URL 編碼

根據 RFC 3986 ,URL 中的字元僅限於一組已定義的保留和未保留的 US-​ASCII 字元。URL 中不允許任何其他字元。但 URL 通常包含 US-ASCII 字符集之外的字元。必須將它們轉換為有效的 US-ASCII 格式才能實現全球互操作性。

要對映全球使用的各種字元,需要使用兩個步驟:

  • 首先,資料根據 UTF-8 字元編碼進行編碼。
  • 然後,只有那些與未保留集中的字元不對應的位元組應該像%HH 一樣進行百分比編碼,其中 HH 是位元組的十六進位制值。

例如,字串: François 將被編碼為: Fran%C3%A7ois

Ç,ç(c-cedilla)是一個拉丁文字母。

保留字元

某些字元是“保留的”,因為它們可能(或可能不)通過特定 URL 方案中 的通用語法定義為分隔符。例如,正斜槓 / 字元用於分隔 URL 的不同部分。

如果 URL 元件的資料包含與保留的字符集衝突的字元(在 URL 方案中定義為分隔符),則衝突字元必須在形成 URL 之前進行百分比編碼。URL 中的保留字元為:

! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

非保留的字元

URL 中允許但沒有保留目的的字元稱為非保留字元。這些包括大寫和小寫字母、十進位制數字、連字元、句點、下劃線和波浪號。下表列出了 URL 中的所有未保留字元:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~