Command Palette

Search for a command to run...

UR

URL 編碼器/解碼器

使用編碼和解碼 URL、查詢字串和表單資料,使用編碼器、編碼器或表單 urlencoded 模式

什麼是 URL 編碼器/解碼器?

URL 編碼器/解碼器將文字轉換為百分比編碼(也稱為 URL 編碼),這是 RFC 3986 定義的轉義方案,可確保將任意字串安全地放入 URL 中。像&, =, ?, # 和/這樣的字元在URL 中具有結構意義- 如果查詢字串值包含文字"&",伺服器會將您的參數分成兩半,除非該字元以%26 轉義。此工具為您提供開發人員遇到的所有三種編碼變體:用於單一值的encodeURIComponent、用於完整URL 的encodeURI 以及用於HTML 表單正文的application/x-www-form-urlencoded(空格為+)。

模式之間的區別比大多數教程所承認的更重要。 EncodureComponent 逃脫每個保留的分隔符號,因此它是單一查詢參數、路徑段或嵌入另一個 URL 的重定向目標的正確選擇 - 但將其在完整 URL 上運行會將 https:// 變為 https%3a%2f%2f。encodeiR 保留分隔符號 (: / ? # & =) 所以整個 URL 保持可通航,而 é 或 ti 或 hi 或 hi 的非 ascii 字元仍然可以逃脫到他們的 UTF-8 編碼表單。 表單 URLENCODED 模式與您提交 <form> 時的瀏覽器發送的內容相符:與 EncodeUricomponent 相同,除了空間變成“+”而不是“%20” - 一個遺留怪癖,今天仍然會觸發 API 整合。

所有內容都在瀏覽器中 100% 客戶端運行,使用與您的生產 JavaScript 使用的相同本機編碼URIComponent、encodeURI 和 decodeURIComponent 功能,因此結果與您的程式碼將產生的內容完全匹配。您貼上的任何內容 - OAuth 回呼 URL、簽署的 S3 連結、令牌、會話 ID - 永遠不會離開您的電腦。解碼器也會捕獲格式錯誤的輸入(雜散%後面沒有兩個十六進位數字會在 JavaScript 中拋出 URIError)並報告明顯的錯誤,而不是默默地失敗。

一個工作範例顯示了該 URL 編碼器和解碼器的三種模式在同一文字上有何不同。鍵入 café & crème 並按一下選擇 encodeURIComponent 的編碼:輸出為 caf%C3%A9%20%26%20cr%C3%A8me。切換模式到應用程式/x-www-form-urlencoded 並再次編碼,空格變成 +,給出 caf%C3%A9+%26+cr%C3%A8me。在 encodeURI 模式下,& 保持原樣,因為 encodeURI 將其視為 URL 分隔符號,這就是為什麼該模式適合整個 URL 而不是單一值。解碼會反轉其中任何一個,但只有表單模式會將 + 返回到空格。

如何使用 URL 編碼器/解碼器?

  1. 貼上您的文字或網址

    將原始值放入輸入區域 - 查詢參數值、帶有空格和 Unicode 的完整 URL,或您從伺服器日誌中提取並想要解碼的編碼字串,例如 A%3D1%26B%3D2。

  2. 選擇編碼模式

    為單一值(查詢參數、路徑段)、Enccodeuri 選擇完整的 URL 的 EncoderUiRcomponent 其中 3 與 ? 當您建立 HTML 表單正文或使用 + 符號調試後有效載荷時,必須生存或形成 urlencode。

  3. 編碼或解碼

    按一下編碼以對輸入進行百分比編碼,或按一下編碼以對其進行反轉。 解碼處理 %xx 序列,並在表單模式下將 + 轉換回空格。 格式錯誤的序列會產生可讀的錯誤,而不是空白的輸出。

  4. 複製或交換

    只需單擊一下即可將結果複製到剪貼簿,或使用交換按鈕將輸出移回輸入 - 當值已雙重編碼 (%2520) 並且需要第二個解碼通道時,這很方便。

主要特點

  • 三種真實世界模式

    encodeuricomponent、encodeuri 和 application/x-www-form-urlencoded - 您在查詢字串、完整 URL 和表單正文中遇到的三種變體

  • 本機 JavaScript 編碼

    使用瀏覽器本機編碼功能,因此 RFC 3986 未保留字元 (AZ az 0-9 - _ ~) 傳遞未觸及的 UTF-8 多位元組序列並正確編碼。就像你自己的 JavaScript 一樣,它也會留下! ' () * 未轉義,RFC 3986 保留

  • 有明顯錯誤的安全解碼

    像雜散的“%”這樣的錯誤格式百分比序列準確地報告了問題所在,而不是拋出未處理的 urIrror

  • 交換輸入和輸出

    一鍵將結果移回輸入 - 非常適合逐層拆開雙編碼值

Frequently Asked Questions

使用 encodeuricomponent 用於 URL 中的單一值 - 查詢參數、路徑段或 cookie 值 - 因為它可以逃脫類似 &, =, / 和 ? 的分隔符號。 只有當您擁有完整的 URL 並且想要在不破壞其結構的情況下逃脫無效字元(空格、Unicode)時才使用 Encodeuri。 經驗法則:如果字串包含應該保持不變的 3,請使用 encodeuri;否則使用 encodeuricomponent。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

url encoderurl decoderpercent encodingencodeuricomponentencodeuriquery string encoderurlencodeform urlencodedrfc 3986uri escapeurl encoder decoder onlineurl encoder decoderurl encoder and decoderencoder decoder url