URL編碼解碼:%E4%B8%AD 變回「中」

文字裡出現的是 %E4%B8%AD,而不是 中?空白也可能變成 %20。這就是 URL 編碼,也叫百分比編碼。把文字貼到上方的輸入框,Mojibuster 會立刻還原成看得懂的文字,不必上傳。

支援文字與以下檔案:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

例如 Excel 匯出、資料庫備份、字幕或網站程式碼。

修復

  1. 拖入檔案或貼上文字
  2. 自動修復
  3. 複製或下載
或把檔案拖到這裡
  • 不必上傳。 檔案直接在瀏覽器中修復,不會離開你的裝置。

  • 伺服器位於歐盟。 Mojibuster 在 芬蘭(歐盟)的伺服器上運作,受《一般資料保護規則》(GDPR)規範。 GDPR 全文(EUR-Lex,英文)

URL編碼是怎麼回事

網址裡只能使用不帶重音的字母、數字和少數符號,其他字元都會被編碼。在 UTF-8 中,中 由 E4、B8、AD 三個位元組組成,所以變成 %E4%B8%AD。空白是 %20,在表單裡則是 +。

URL 編碼後的文字,以及還原後的結果。

編碼後

%E5%8F%B0%E5%8C%97%E7%89%9B%E8%82%89%E9%BA%B5

還原後

台北牛肉麵

常見的URL編碼

  • %E4%B8%AD = 中,%E6%96%87 = 文,%E5%AD%97 = 字,%E7%A2%BC = 碼
  • %E4%BA%82%E7%A2%BC = 亂碼,%E5%8F%B0%E5%8C%97 = 台北,%E6%BC%A2%E5%AD%97 = 漢字
  • %EF%BC%8C = ,,%E3%80%82 = 。,%E3%80%81 = 、,%EF%BC%9A = :
  • %20 = 空白,%2F = /,%3F = ?,%26 = &,%25 = %

一個中文字在 UTF-8 裡通常是 3 個位元組,所以會變成 9 個字元的代碼。常用字多半以 %E4 到 %E9 開頭,全形標點則常以 %E3%80 或 %EF%BC 開頭,一看就知道是中文。舊網站也常見 Big5 代碼:%BBO%A5%5F%A5%AB 就是「臺北市」,Mojibuster 也能辨認並還原。

URL編碼的文字從哪裡來

  • 複製的連結: 瀏覽器會把中文網址顯示成看得懂的樣子,但複製後常常貼成 %E5%8F%B0%E5%8C%97。
  • 表單和流量統計: 搜尋字詞和 UTM 參數在伺服器日誌和統計匯出檔裡維持編碼狀態,例如 ?q=%E7%89%9B%E8%82%89%E9%BA%B5。
  • 匯出檔和 API: 有些電子報工具、Webhook 和 API 會把值編碼後儲存,於是 Excel 或 CSV 裡出現的是代碼,而不是名字。
  • 檔名: 伺服器沒有解碼檔名時,下載的檔案會叫 %E5%90%88%E7%B4%84.pdf 這樣的名字。

編碼和亂碼同時出現

有時文字被破壞了兩次:%C2%B6%C3%83%C2%BDX 是 亂碼 的 Big5 位元組被誤讀成西歐字元後產生的亂碼,再被 URL 編碼的結果。Mojibuster 先解開編碼,再修復 Big5 亂碼,最後得到 亂碼。

本頁已經勾選 同時轉換編碼字元。HTML 字元參照(中)、郵件編碼(=E4=B8=AD)和程式裡的跳脫碼(\u4e2d)也會一併轉換。其他亂碼問題請見亂碼是什麼。

在 Excel、JavaScript、Python 和 PHP 中自己解碼

  • Excel: 只有編碼函數(英文版為 ENCODEURL),沒有解碼函數。最簡單的辦法是複製整欄,貼到這裡,再把結果複製回去。另見 Excel 亂碼。
  • JavaScript: decodeURIComponent("%E4%B8%AD") 會得到 中。
  • Python: urllib.parse.unquote("%E4%B8%AD");表單裡的 + 要當作空白時用 unquote_plus。
  • PHP: rawurldecode(),表單資料用 urldecode()。

常見問題

%E4%B8%AD 是什麼意思?

它是 中 的 URL 編碼:UTF-8 的三個位元組 E4、B8、AD,每個前面加一個 %。同理,%E6%96%87 是 文。

%20 是什麼意思?

空白。表單資料裡常用 + 代替。一般文字裡的 + 可能是真正的加號,所以 Mojibuster 會保留它。

我的連結會被上傳嗎?

不會。轉換完全在瀏覽器中進行。含有權杖、電子郵件地址或其他個人資料的連結也不會離開你的裝置。

為什麼「100%」沒有被更動?

Mojibuster 只轉換能變成真正特殊字元的序列。100%、50 % 或一般文字裡單獨的 %20 都會維持原樣。

更多說明