URL 編碼/解碼 + HTML 實體

編碼 URL、解碼百分號轉義,並轉換 HTML 實體。

工具
操作
URL 範圍
輸入
輸出
已準備好。貼上文字並選擇操作。

你的 URL 和 HTML 文字會在瀏覽器本機轉換,不會上傳到 BroBroGo。

常見問題

應該選 URL 元件還是完整 URL?

查詢參數值、路徑片段或表單值選元件;想保留 : / ? & = 這類 URL 結構字元時選完整 URL。

HTML 實體轉義會改變什麼?

它會把 <、>、&、引號和非 ASCII 文字轉成實體,方便安全地貼進 HTML 文字或屬性裡。

為什麼 URL 解碼有時會失敗?

百分號轉義必須是完整的 UTF-8 序列。像 %E0%A4%A 這樣的殘缺序列無法可靠解碼。

URL 編碼與解碼的運作原理

URL 編碼(亦稱為百分號編碼)是用於網際網路標準中,將特定字元轉換為可在網址中安全傳輸的格式。在網址結構中,某些字元具有特殊功能,例如 ? 用於引入查詢參數,& 用於分隔參數,而 = 則用於連結鍵與值。當實際資料本身包含這些特殊字元時,就必須進行編碼,以避免瀏覽器或伺服器誤判網址結構。

編碼過程會將非 ASCII 字元或特殊字元轉換為其對應的 UTF-8 位元組序列,並以百分號 % 後跟兩位十六進位數值的方式表示。例如,中文字「上海」在經過編碼後會轉化為 %E4%B8%8A%E6%B5%B7。解碼則是將這些百分號轉義序列還原為原始文字的逆向過程。

完整 URL 與 URL 元件的編碼差異

在處理網址編碼時,必須根據資料的使用情境選擇合適的範圍:

  • 元件:此模式對應 JavaScript 的 encodeURIComponentdecodeURIComponent 函式。它會將所有特殊字元(包括 :/?&= 等)全部轉換為百分號轉義序列。這適用於編碼查詢參數值、路徑片段或表單值,確保參數內容不會破壞網址整體的解析結構。
  • 完整 URL:此模式對應 JavaScript 的 encodeURIdecodeURI 函式。它會保留網址的基本結構字元(如協定標記、網域分隔符及參數連接符),僅對不安全或非 ASCII 的字元進行編碼。這適用於需要保持網址可讀性,同時確保其符合傳輸規範的場景。

HTML 實體轉義與反轉義

HTML 實體轉義是將特定字元轉換為 HTML 實體代碼的過程。在 HTML 文件中,諸如 <>& 以及單雙引號等字元具有語法意義。如果直接在網頁內容中寫入這些字元,可能會導致瀏覽器將其解析為 HTML 標籤或實體宣告,進而破壞版面甚至引發安全問題。

透過將這些字元以及非 ASCII 文字轉換為對應的實體(例如將 < 轉為 &lt;),可以確保文字在貼進 HTML 頁面或屬性時,能夠被瀏覽器正確且安全地呈現為純文字,而不會被當作程式碼執行。反轉義則是將這些實體代碼還原為原始字元的過程。

需要注意的是,HTML 實體轉義與安全淨化(Sanitization)不同。轉義僅進行字元格式的等價轉換,以確保顯示正確;而安全淨化則涉及過濾惡意腳本與阻擋跨網站指令碼(XSS)攻擊的邏輯。

異常處理與百分號轉義規範

在進行 URL 解碼時,輸入的百分號轉義序列必須符合完整的 UTF-8 位元組序列規範。如果輸入了不完整的序列,例如 %E0%A4%A,解碼程式將無法正確識別對應的字元。

此時,工具會偵測到此格式錯誤並顯示錯誤訊息:「這段 URL 文字裡有殘缺的百分號轉義。」。此外,本工具設有 2,000,000 個字元的輸入長度限制。若輸入內容超出此限制,系統會提示:「輸入內容太大,請控制在 {max} 個字元以內。」。若轉換程序因資料過大而逾時,則會顯示:「這次轉換耗時太久,請換一段更小的輸入。」。

瀏覽器本機處理與隱私保護

本工具的設計完全基於用戶端瀏覽器運作。當您輸入文字並進行 URL 編碼、解碼或 HTML 實體轉換時,所有的運算與字元轉換程序皆直接在您的瀏覽器本機執行。您的 URL 內容與 HTML 文字不會上傳到 BroBroGo 伺服器,保障資料處理的隱私。

常見問題

應該選 URL 元件還是完整 URL?

查詢參數值、路徑片段或表單值選元件;想保留 :/?&= 這類 URL 結構字元時選完整 URL。

HTML 實體轉義會改變什麼?

它會把 <>&、引號和非 ASCII 文字轉成實體,方便安全地貼進 HTML 文字或屬性裡。

為什麼 URL 解碼有時會失敗?

百分號轉義必須是完整的 UTF-8 序列。像 %E0%A4%A 這樣的殘缺序列無法可靠解碼。