自由轉換文字和 HTML 實體
使用 HTML 編解碼器非常簡單:
HTML 編解碼器在 Web 開發和內容創建中用於以下情況:
在 HTML 電子郵件範本中安全顯示包含特殊字元的文字。在保持電子郵件用戶端相容性的同時正確顯示符號和引號。
當直接在 HTML 或 CSS 中嵌入小圖片或圖示時,會使用 Base64 編碼的資料 URL。這可以減少 HTTP 請求並提高頁面載入速度。
在 HTTP 基本驗證中,使用者名稱和密碼會用冒號 (:) 結合並進行 Base64 編碼,以包含在驗證標頭中。
JWT 的標頭和酬載部分是使用 Base64URL 編碼 (Base64 的變體) 來表示。
以 JSON 格式傳輸二進位資料時,會使用 Base64 編碼將其轉換為文字格式。
Base64 是一種編碼方法,它使用 64 個可列印的 ASCII 字元來表示二進位資料。名稱 "64" 來自於它使用 64 個字元 (2 的 6 次方) 的事實。
Base64 編碼將 3 個位元組 (24 位元) 的資料分成四個 6 位元的單元,並將每個單元對應到上述 64 個字元中的一個。
原始文字: "Hello" 二進位表示: 01001000 01100101 01101100 01101100 01101111 Base64 結果: SGVsbG8=
當資料大小不是 3 的倍數時,會在結尾添加 "=" 進行填充。
即使在只支援文字的系統中 (例如舊版電子郵件系統),使用 Base64 編碼也能安全地傳輸二進位資料,防止資料損毀。
由於 Base64 只使用 ASCII 字元,因此在不同系統之間交換資料時不會出現字元編碼問題。
使用 Base64URL 編碼 (將 + 取代為 -,/ 取代為 _) 可讓您產生能安全用於 URL 和檔名的字串。
透過將圖片和字型直接嵌入 CSS 和 HTML 檔案中,您可以減少對外部檔案的請求並提高頁面效能。
如果您需要保護機密資料,請使用 AES-256 等強式加密演算法。
是的,它們基本上是同一個意思。兩者都是指將 HTML 特殊字元轉換為 HTML 實體。"轉義" 是一個通用的程式設計術語,而 "編碼" 是從字元轉換的角度使用的。
至少應將 <、>、&、" 和 ' 這五個字元轉換為實體。特別是 < 和 > 是必需的,因為它們被解釋為 HTML 標籤。在顯示使用者輸入時,應將所有特殊字元轉換為實體以防止 XSS 攻擊。
數字實體(<)用 Unicode 字元代碼表示,可用於所有字元。命名實體(<)用可讀名稱表示,但僅限於 HTML5 中定義的約 2,000 種類型。兩者功能相同。
它們是 PHP 的 htmlentities() 函式的標誌。ENT_QUOTES 對單引號和雙引號都進行編碼,ENT_HTML5 使用符合 HTML5 的實體集。此工具結合兩者以進行最安全的轉換。
不會,正確使用 UTF-8 編碼的日語等多位元組字元可以在 HTML 中按原樣顯示,無需轉換為實體。但是,它們也可以表示為數字實體(あ = あ)。
不是,HTML 實體轉換不是加密,而只是字元表示的改變。從安全的角度來看,它是為防止 XSS 攻擊而進行的 "轉義",與保護資料機密性的加密不同。
每種語言都有專用函式。PHP: htmlentities()、JavaScript: textContent (自動轉義)、Python: html.escape()、Java: StringEscapeUtils.escapeHtml4()、Ruby: CGI.escapeHTML() 等都可用。
字元編碼(UTF-8、Shift_JIS 等)可能不符合。此外,不完整的實體(< 後面沒有分號等)或多次編碼的資料(&lt; → < → < 需要兩次解碼)可能是原因。
Encode and decode URLs
Encode and decode Base64
Remove all HTML tags and extract plain text
Encode image data in Base64
Generate MD5, SHA-1, SHA-256, and other hashes