RUNWEBTOOLS
繁體中文
資料格式與編碼

URL 編碼講解

更新 2026-07-06

複製一個帶搜尋詞的 URL,你常會在本該是空格或帶重音字母的地方看到 %20%C3%A9 之類的東西。那就是 URL 編碼在起作用。本指南講解它做什麼、為何需要,以及哪些字元會被跳脫。

URL 編碼是什麼

URL 編碼 —— 也叫 百分號編碼(percent-encoding) —— 是在 URL 中表示那些否則會不安全或有歧義的字元的一種方式。每個這樣的字元會被替換成一個 % 後跟其十六進位位元組值。空格變成 %20;&符號變成 %26

為何需要

URL 只能包含有限的一套字元,其中一些還有特殊職責:? 開啟查詢字串,& 分隔參數,/ 分隔路徑段,# 標記片段。如果你要放進 URL 的值含有其中之一,就必須編碼它,讓它被當作資料而非結構。

Search term:  cats & dogs
In a URL:     ?q=cats%20%26%20dogs

不編碼的話,原始的 & 會被讀成一個新參數的開始,搜尋就會出錯。

保留字元 vs. 非保留字元

  • 非保留(Unreserved) 字元 —— 字母、數字,以及 - _ . ~ —— 總是安全,永不需要編碼。
  • 保留(Reserved) 字元 —— 像 ? & / # : @ = —— 具有特殊含義,作為字面資料使用時必須編碼。
  • 其他一切 —— 空格、帶重音字母、表情符號和大多數符號 —— 依據其 UTF-8 位元組編碼,這正是一個字元可能變成好幾個 %xx 對的原因。

一個常見的混淆:加號

在表單提交的查詢字串裡,空格有時被編碼成 + 而非 %20。視語境兩者都可能表示「空格」,這會絆倒人 —— 拿不準時,%20 總是安全的。

URL 編碼 vs. Base64

這兩者解決不同的問題。URL 編碼讓文字能安全地放 在 URL 裡面Base64二進位 資料能安全地穿過基於文字的通道。它們有時會合起來用(Base64URL),但並不可互換。

要編碼或解碼一個值,用 URL 編碼器;要拆開查詢字串裡的所有參數,查詢字串解析器 會把它們分成一個可讀的清單。

更多 資料格式與編碼

查看全部 資料格式與編碼 指南 →

本指南提到的工具