HTML 跳脫字元轉換

把程式碼或文字中的 < > & 等特殊字元轉成 HTML 實體,安全地放進網頁;也能把 &lt; &#20013; 這類實體還原成原本的文字。

要轉換的字元
表示方式
常用 HTML 實體對照表(58 個)
字元具名實體十進位說明
& &amp; &#38; & 符號
< &lt; &#60; 小於
> &gt; &#62; 大於
" &quot; &#34; 雙引號
' &apos; &#39; 單引號(HTML5)
(空白) &nbsp; &#160; 不換行空格
© &copy; &#169; 版權符號
® &reg; &#174; 註冊商標
™ &trade; &#8482; 商標
° &deg; &#176; 度
± &plusmn; &#177; 正負號
× &times; &#215; 乘號
÷ &divide; &#247; 除號
· &middot; &#183; 間隔號
• &bull; &#8226; 項目符號
… &hellip; &#8230; 刪節號
– &ndash; &#8211; 短破折號(en dash)
— &mdash; &#8212; 長破折號(em dash)
‘ &lsquo; &#8216; 左單引號
’ &rsquo; &#8217; 右單引號
“ &ldquo; &#8220; 左雙引號
” &rdquo; &#8221; 右雙引號
« &laquo; &#171; 左書名號(法文引號)
» &raquo; &#187; 右書名號(法文引號)
§ &sect; &#167; 章節符號
&para; &#182; 段落符號
€ &euro; &#8364; 歐元
£ &pound; &#163; 英鎊
¥ &yen; &#165; 日圓/人民幣
¢ &cent; &#162; 分
← &larr; &#8592; 左箭頭
→ &rarr; &#8594; 右箭頭
↑ &uarr; &#8593; 上箭頭
↓ &darr; &#8595; 下箭頭
↔ &harr; &#8596; 左右箭頭
≤ &le; &#8804; 小於等於
≥ &ge; &#8805; 大於等於
≠ &ne; &#8800; 不等於
≈ &asymp; &#8776; 約等於
∞ &infin; &#8734; 無限大
½ &frac12; &#189; 二分之一
¼ &frac14; &#188; 四分之一
¾ &frac34; &#190; 四分之三
² &sup2; &#178; 上標 2
³ &sup3; &#179; 上標 3
µ &micro; &#181; 微
α &alpha; &#945; 希臘字母 alpha
β &beta; &#946; 希臘字母 beta
π &pi; &#960; 圓周率 pi
Ω &Omega; &#937; 希臘字母 Omega
é &eacute; &#233; e 加重音符
ü &uuml; &#252; u 加分音符
ñ &ntilde; &#241; n 加波浪號
‰ &permil; &#8240; 千分比
(空白) &ensp; &#8194; 半形空格(en space)
(空白) &emsp; &#8195; 全形空格(em space)
(空白) &thinsp; &#8201; 窄空格
(空白) &shy; &#173; 軟連字號

如何使用HTML 跳脫字元轉換

  1. 選擇「編碼(跳脫)」或「解碼(還原)」。
  2. 編碼時選擇要轉換的字元:「僅特殊字元」只處理 & < > " ',「含所有非 ASCII」連中文與符號一起轉換。
  3. 選擇表示方式:「具名優先」使用 &copy; 這類名稱,沒有名稱的字元改用十進位;也可以全部使用十進位或十六進位。
  4. 在輸入框貼上內容,結果即時顯示;按「複製結果」帶走,或按「用結果反向轉換」核對。

為什麼需要跳脫 HTML 字元?

在 HTML 中,< 代表標籤開始、& 代表實體開始、引號則用來包住屬性值。如果要在網頁上「顯示」這些字元本身,例如在教學文章中展示一段程式碼,就必須把它們寫成 &lt;、&amp;、&quot; 等實體,否則瀏覽器會把它們當成語法解析,造成版面錯亂。

更重要的是安全性:把使用者輸入直接插入網頁而沒有跳脫,是跨站腳本攻擊(XSS)最常見的成因。至少要跳脫 & < > " ' 這五個字元,才能安全地放進 HTML 內容與以引號包住的屬性中。實務上應交給框架或範本引擎自動處理,本工具適合手動撰寫內容或檢查輸出時使用。

具名實體與數字實體

HTML 實體有三種寫法:具名實體如 &copy;,十進位數字如 &#169;,十六進位數字如 &#xA9;,三者都代表「©」。具名實體比較好讀,但只有部分字元有名稱;數字實體則可以表示任何 Unicode 字元,例如「中」是 &#20013;,擴充區漢字「𠮷」是 &#134071;。

單引號的具名實體 &apos; 是 HTML5 才加入的,舊的 HTML 4 與部分電子郵件軟體不認得,因此本工具編碼時一律使用 &#39;。解碼時則支援所有 HTML5 具名實體,但實體必須以分號結尾,沒有分號的寫法不會被轉換。撰寫時請務必加上分號,避免不同瀏覽器或程式解讀不一致。

什麼時候要轉換所有非 ASCII 字元?

現代網頁幾乎都使用 UTF-8,中文可以直接寫在 HTML 中,不需要轉成實體,轉換後檔案反而變大、也難以閱讀。只有在檔案或系統只能處理 ASCII 時,例如某些舊系統、程式碼中的字串常數,或編碼不確定的電子郵件範本,才需要選擇「含所有非 ASCII」。

常見問題

&nbsp; 和一般空格有什麼不同?

&nbsp; 是不換行空格,瀏覽器不會在它的位置換行,也不會把連續多個合併成一個。常用於讓「100 元」這類詞組不被拆到兩行,但不建議拿來排版縮排。

為什麼網頁上出現 &amp;amp; 這種文字?

這是內容被跳脫了兩次。原本的 & 先變成 &amp;,再次跳脫時又變成 &amp;amp;。請檢查程式中是否重複呼叫跳脫函式,或資料庫裡已經存了跳脫後的內容。

URL 中的 & 也要跳脫嗎?

寫在 HTML 屬性中的網址,例如 href="page?a=1&amp;b=2",依規範應把 & 寫成 &amp;。瀏覽器通常能容忍未跳脫的寫法,但跳脫才是正確的做法。網址本身的編碼則請使用 URL 編碼工具。

輸入的內容會被執行或上傳嗎?

不會。轉換以純文字方式在瀏覽器中處理,輸入的 HTML 不會被執行,也不會傳送到任何伺服器。

最後更新: