LibraTool logoLibraTool

免費HTML 編解碼器

將特殊字元編碼為 HTML 實體,或將實體解碼回純文字。即時,在瀏覽器中完成。

載入後可離線使用
輸出:
範例:
純文字 / HTML
已編碼 HTML
輸出將顯示在此處...
常用 HTML 實體參考
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

工作原理

這裡的 HTML 編碼和解碼完全在你的瀏覽器中執行,使用手寫的正則替換和硬編碼的命名實體查詢表——沒有第三方編碼庫,沒有伺服器往返。對於不常見的命名實體(如 &aacute; 或 &ldquo;)的解碼,工具會交給瀏覽器自身的 HTML 解析器作為零成本的後備方案。

  1. 1
    正則掃描需要替換的字元
    編碼時,會對你的輸入執行兩個支援 Unicode 的正則之一:一個針對約 25 個常見 HTML 特殊字元和特殊符號的模式,或一個捕獲 U+007F 以上所有碼點的更寬泛模式。每個符合都逐字元攔截處理。
  2. 2
    查詢表或 codePointAt() 產生實體
    輸出命名實體時,符合的字元在硬編碼表中查詢(例如 & → &amp;,© → &copy;)。輸出十進位制或十六進位制時,String.codePointAt() 取得 Unicode 碼點並格式化為 &#NNN; 或 &#xNNN;——由於正則使用了 Unicode 'u' 標誌,代理對也能正確處理。
  3. 3
    單次正則遍歷將實體解碼回字元
    解碼時,一次正則遍歷識別所有實體記號(&amp;、&#65;、&#x41; 等),並將每個交給相應的處理常式:十六進位制用 parseInt(基數 16),十進位制用 Number(),命名實體反向查詢,或者——對於不在硬編碼表中的實體——使用 textarea 元素,由瀏覽器原生解析其 innerHTML,從瀏覽器內建的實體表返回正確字元。
  4. 4
    結果即時顯示;透過 Clipboard API 複製到剪貼簿
    每次按鍵時,輸出都會透過 React useMemo 同步重新計算。複製使用 navigator.clipboard.writeText()——現代非同步 Clipboard API——並在受限環境中靜默捕獲錯誤。

相關工具

常見問題