Skip to content
HTML 實體編碼 / 解碼
Tools

HTML 實體編碼 / 解碼

轉義與還原 HTML 實體,可選用數字編碼。

Mode
Encode
Output

HTML entities reference

Punctuation, arrows, currency, maths and Greek — click any code to copy it.

Symbol Named Decimal Hex
Punctuation & quotes
Arrows
Currency
Maths & technical
Greek letters
Symbols
Copied

Runs entirely in your browser. Nothing is uploaded.

線上 HTML 實體編碼與解碼

這個 HTML 實體工具將三項功能整合於一處:將文字編碼成 HTML 實體、將實體解碼回可讀文字,以及提供可搜尋的 HTML 實體列表供你複製使用。在左側窗格輸入或貼上文字,轉換結果會即時顯示在右側——可在編碼解碼之間切換、交換兩個窗格,並一鍵複製輸出結果。

所有處理都在你的瀏覽器本地執行,因此你輸入的文字絕不會上傳至任何伺服器。無需安裝任何軟體、無需建立帳號、也沒有使用限制。即使在離線狀態下重新載入頁面,工具仍可正常運作——因為整個流程完全不需要伺服器呼叫。

什麼是 HTML 實體,為什麼它很重要

HTML 實體是代表字元的短代碼,固定以 & 符號開頭、分號結尾——例如 &amp; 代表 & 符號,&nbsp; 代表非斷行空格。實體的存在有兩個理由:第一,某些字元在 HTML 中具有保留意義:直接使用 <>& 可能被解讀為標記語法而導致頁面錯誤,因此需要分別寫成 &lt;&gt;&amp;

第二,實體讓你能夠插入特殊字元——重音符號、貨幣符號、數學符號和箭頭——這些字元可能難以輸入,或在文字編碼轉換時遺失。對保留字元進行跳脫處理,正是防止一個多餘的 < 破壞排版,或使用者輸入內容變成惡意標籤的關鍵。這是網頁安全的基礎,也是為什麼清理使用者輸入時必然涉及 HTML 實體編碼。

具名、十進位與十六進位實體

每個字元都可以用三種方式表示。具名實體使用可讀的關鍵字——&copy; 代表版權符號 ©。十進位數值實體使用字元的 Unicode 碼位(以 10 進位表示)——&#169;十六進位實體使用 16 進位——&#xA9;。三種方式都輸出相同的 ©。

具名實體最易閱讀,但只有約 2,200 個字元擁有 HTML5 具名代碼。HTML4 僅定義了約 255 個。擴充的 HTML5 具名字元參考標準新增了數百個——包括數學運算子、箭頭及排版符號等過去無法使用的字元。數值實體(十進位或十六進位)則涵蓋所有 Unicode 字元,包括所有 Emoji。編碼時,請根據使用情境選擇輸出格式:具名實體適合程式碼可讀性,十進位或十六進位則適用於需要保證任意字元代碼的場景。

可搜尋的 HTML 實體列表——箭頭、符號及更多

轉換器下方有一份完整的分組 HTML 實體列表,涵蓋標點符號、箭頭、貨幣、數學及希臘字母。可依名稱、符號或數字搜尋——輸入「arrow」找到 &rarr;(→)、「euro」找到 &euro;(€)或「38」找到 & 符號——然後點擊任意儲存格即可複製符號、具名實體、十進位代碼或十六進位代碼。

這是取得正確 HTML 字元碼最快速的方式,無需記憶代碼或在靜態參考頁面中翻找。此列表涵蓋完整的 HTML5 具名字元參考標準——超過 2,200 個條目——遠多於 W3Schools 的約 255 個或 FreeFormatter 僅限 HTML4 的部分列表。如果你經常使用數學符號、排版符號或擴充拉丁字元,這份列表一應俱全。

與 FreeFormatter、W3Schools 及 MDN 的比較

大多數 HTML 實體資源都是靜態參考頁面。W3Schools、MDN 字元參考和 FreeFormatter.com 都提供可手動查詢的實體列表,但都無法讓你貼上一段文字後一次性編碼或解碼整段內容。FreeFormatter 的實體編碼器是最接近的替代方案,但它會將你的文字傳送至其伺服器處理,每次轉換都需要提交表單並等待頁面重新載入,而且僅涵蓋 HTML4 實體。

本工具在同一頁面上即時完成所有功能,完全在客戶端執行:編碼一段文字、切換至解碼、再搜尋實體列表——全在同一個分頁中完成,無需任何網路往返。它還涵蓋完整的 HTML5 具名字元參考集,而非僅限 HTML4,這對於包含排版符號、箭頭或數學符號的現代內容至關重要。由於所有處理都在本地執行,你可以放心地編碼私密內容——內部文件、電子郵件範本、未發布的文案——不必擔心內容傳至第三方伺服器。

私密、即時且免費——甚至支援離線使用

每一次轉換——編碼、解碼或從實體列表複製——都透過 JavaScript 在你的瀏覽器本地完成,因此即使是機密標記語言也不會離開你的裝置。沒有伺服器、不需登入、也沒有使用頻率限制。無論你使用快速網路、慢速網路,或在初次載入頁面後完全離線,工具都同樣可以使用。

相比之下,FreeFormatter.com 或線上 HTML 驗證器等工具每次轉換都需要發送網路請求。對於處理客戶專案或內部工具的開發者而言,在本地執行編碼意味著你的標記語言永遠不會經過第三方伺服器。將本工具加入書籤,作為你常用的 HTML 實體轉換器與參考工具——無論是跳脫 HTML、查詢字元代碼,還是解碼來自原始碼或資料庫傾印的已編碼標記語言。

Frequently asked questions

HTML 實體是什麼?

HTML 實體是代表字元的短代碼,這些字元在 HTML 中屬於保留字元或難以直接輸入。每個實體以 & 符號開頭、分號結尾——例如 &amp; 代表 &,&lt; 代表小於符號(<),&copy; 代表版權符號(©)。實體讓字元能夠字面顯示,而不被解讀為標記語法,並確保符號即使在頁面字元編碼不支援的情況下也能正確渲染。手動撰寫 HTML 或在網頁應用程式中清理使用者輸入時,你會頻繁地遇到它們。

如何將文字編碼成 HTML 實體?

將文字貼入左側窗格,並將模式保持在「編碼」。選擇要跳脫哪些字元——僅限保留字元(< > & " ')、保留字元加上所有非 ASCII 字元,或全部字元——以及輸出格式要用具名、十進位還是十六進位代碼。例如,使用具名選項時,「Fish & chips <3」會變成「Fish &amp; chips &lt;3」。結果會即時顯示在右側,點擊「複製」後可直接貼入你的 HTML。所有處理都在瀏覽器中完成——無需上傳檔案、無需帳號,且對編碼文字的數量沒有任何限制。

如何將 HTML 實體解碼回原始文字?

將模式切換至「解碼」,然後將已編碼的 HTML 貼入左側窗格;可讀文字會即時顯示在右側。工具支援具名、十進位和十六進位實體,因此 &lt;div&gt; Tom &amp; Jerry &#169; 會解碼為 <div> Tom & Jerry ©。使用「交換」按鈕可翻轉兩個窗格,以便重新編碼結果。解碼器能處理同一字串中混合的實體類型——具名、十進位和十六進位可以同時出現,每種都能正確解碼。FreeFormatter.com 的實體解碼器每次轉換都需要提交表單並重新載入頁面;本工具則在你輸入時即時更新。

&nbsp;、&amp;、&lt; 和 &gt; 各是什麼?

這四個是最常見的 HTML 實體。&amp; 是 & 符號,&lt; 是小於符號(<),&gt; 是大於符號(>),而 &nbsp; 是非斷行空格——一種防止瀏覽器在此處換行或合併空格的特殊空格,適合用於數值與單位之間,例如 10&nbsp;kg,這樣它們就不會被拆分到兩行。在使用其他實體前,必須先將 & 跳脫為 &amp;,否則 &amp; 本身可能被誤讀為新實體的開頭,造成雙重編碼問題。

具名、十進位和十六進位實體有什麼差別?

三者是表示同一字元的三種方式。具名實體使用易記的關鍵字(&amp;);十進位數值實體使用字元的 Unicode 碼位(以 10 進位表示,&#38;);十六進位實體使用 16 進位(&#x26;)。三種方式都輸出 & 符號。具名實體最易閱讀,但只有約 2,000 個字元擁有具名代碼,因此數值實體是其他所有字元的後備方案——包括 Emoji,例如咧嘴笑臉 😀 對應的是 &#128512;。如有疑問,具名實體是可讀性最佳的選擇。HTML5 標準大幅擴充了具名實體列表,遠超 HTML4;本工具涵蓋超過 2,200 個 HTML5 具名字元參考的完整集合。

在 HTML 中哪些字元必須進行跳脫?

頁面內容中有三個字元具有特殊含義,應始終進行跳脫:&(&amp;)、<(&lt;)和 >(&gt;)。在屬性值中,還應跳脫 "(&quot;)和 '(&#39;)。務必先跳脫 &,否則 &amp; 本身可能被誤讀為實體的開頭而遭到雙重跳脫。編碼模式的「保留字元」選項恰好處理這五個字元,並保留其餘文字不變——非常適合清理表單輸入或範本輸出,而不會過度編碼不需要跳脫的字元。

箭頭或特殊符號的 HTML 實體代碼是什麼?

常見箭頭有 &larr;(←)、&rarr;(→)、&uarr;(↑)、&darr;(↓)和 &harr;(↔),雙線版本有 &lArr;、&rArr; 和 &hArr;(⇐ ⇒ ⇔)。如需其他符號,請使用下方的可搜尋列表——輸入「arrow」、「heart」或「euro」,然後點擊具名、十進位或十六進位代碼即可複製。完整列表涵蓋標點符號、數學符號、希臘字母、貨幣符號及數百個特殊字元,依照 HTML5 具名字元參考標準更新。W3Schools 僅列出約 255 個實體;本工具提供超過 2,200 個。

如何在 JavaScript 中解碼 HTML 實體?

經典的瀏覽器技巧是讓 DOM 替你解碼:建立一個獨立的 textarea 元素,將實體字串設為其 innerHTML,然後讀取其 value。例如:const el = document.createElement('textarea'); el.innerHTML = '&lt;b&gt; &amp; &#169;'; 之後 el.value 即可取得 '<b> & ©'。原生 JavaScript 中沒有內建的 decodeHTMLEntities() 函式,因此這種 DOM 方法——或是將匹配到的實體標記送入 textarea 的小型輔助函式(確保雜散標記不會逸出)——是標準做法。本工具正是採用這種方式,因此即使使用不可信任的標記語言也不會有 XSS 風險。

為什麼我的頁面上顯示 &amp; 而不是 &?

這是雙重編碼問題。文字被跳脫了兩次(先將 & 轉為 &amp;,再將 &amp; 中的 & 轉為 &amp;amp;),通常是因為框架自動跳脫了已經跳脫過的輸出。這在 PHP CMS 和部分預設跳脫所有輸出的模板引擎中很常見——Twig、Smarty 以及較舊的 WordPress hook 都有這種行為。將該值貼入解碼器確認是否為雙重編碼,然後確保你的模板將該值標記為安全,或在輸出時只進行一次跳脫。

如何在 HTML 中加入 ©、™ 或破折號?

使用 &copy; 代表 ©,&reg; 代表 ®,&trade; 代表 ™,&mdash; 代表全形破折號(—)。半形破折號使用 &ndash;(–),省略號使用 &hellip;(…)。在 UTF-8 頁面上也可以直接貼入符號,但具名實體更明確,且在編碼變更時也能保持正確。在現今幾乎全面採用 UTF-8 的頁面上,直接貼入 © 完全沒問題。不過具名實體仍是 HTML 電子郵件最安全的選擇,因為各郵件客戶端(如 Outlook、Gmail 和 Apple Mail)對編碼的假設各有不同。

非斷行空格的 HTML 實體是什麼?

非斷行空格是 &nbsp;(數值形式為 &#160; 或 &#xA0;)。非斷行空格能讓兩個詞、或數值與單位保持在同一行,並防止瀏覽器合併多個空格——例如 Mr.&nbsp;Smith 或 5&nbsp;km。但請勿過度使用它進行排版;間距請改用 CSS 的 margin 或 padding。一個常見錯誤是使用多個 &nbsp; 縮排文字或建立欄位——這是不良做法,在頁面縮放或由螢幕閱讀器渲染時會出現問題,後者會對每個非斷行空格大聲朗讀「非斷行空格」。

HTML 實體有區分大小寫嗎?

有。具名實體區分大小寫,因此 &amp; 有效,但 &Amp; 或 &AMP; 可能無效,而 &Sigma;(Σ)與 &sigma;(σ)是完全不同的字元。數值實體僅在十六進位實體的可選 x 上不區分大小寫——&#xA9; 和 &#xa9; 都輸出 ©。如有疑問,請從此處的參考列表複製確切代碼,而非憑記憶輸入。具名實體大小寫錯誤會導致顯示原始代碼而非符號,這是手寫 HTML 範本中常見的錯誤來源。

這個工具與 FreeFormatter 或 W3Schools 實體表相比如何?

FreeFormatter.com 和 W3Schools 都提供靜態 HTML 實體參考表,但你只能查詢代碼——無法編碼或解碼自己的文字。FreeFormatter 的實體編碼器是最接近的替代方案,但它需要提交表單並重新載入頁面才能完成每次轉換,且實體列表僅涵蓋 HTML4 具名實體。W3Schools 顯示約 255 個具名實體。本工具涵蓋完整的 HTML5 具名字元參考集——超過 2,200 個條目——並將可搜尋參考與即時編碼器及解碼器整合於同一頁面,在你輸入時即時更新。

這個工具在手機上(iPhone、Android)可以使用嗎?

可以,編碼器、解碼器和實體列表在手機瀏覽器上完全可用,包括 Android 上的 Chrome 和 iPhone 上的 Safari。版面配置會自適應較小的螢幕,兩個窗格會垂直堆疊。手機使用小技巧:如果一鍵複製沒有立即觸發,可以長按實體列表中的儲存格,使用瀏覽器的複製選項。無需下載任何應用程式——本工具作為標準網頁在任何現代手機瀏覽器中運行。在任何裝置上都無需註冊、無需帳號、也沒有使用限制。頁面載入後甚至可以離線使用。

Related tools

檢視所有工具