UTF-8 編碼/解碼
將 Unicode 文字轉換為正確格式的 UTF-8 位元組,或嚴格解碼位元組序列,不進行靜默取代。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.選擇文字轉為 UTF-8 位元組,或 UTF-8 位元組轉為文字,然後選擇十六進位、十進位或二進位表示方式。
- 2.輸入 Unicode 文字或嚴格格式化的位元組標籤,並點選轉換按鈕。
- 3.將輸出結果與原始格式進行精確對照,並驗證往返轉換正確性後,才可取代原始資料。
關於UTF-8 編碼/解碼
UTF-8 編碼/解碼工具可在瀏覽器中將 Unicode 文字與 UTF-8 位元組相互轉換。可將文字轉為十六進位、十進位或二進位位元組表示,或將這些表示方式轉迴文字。該轉換器使用瀏覽器標準的 TextEncoder 與致命的 TextDecoder,因此錯誤輸入將被拒絕,不會靜默取代。
UTF-8 是一種變長的 Unicode 編碼,由 Unicode 與 RFC 3629 標準化。有效的 Unicode 數值使用一至四個位元組。ASCII 碼點保留其單位元組值,較大值則使用首位元組與連續位元組模式。允許的數值範圍至 U+10FFFF,且排除 UTF-16 奇異碼點。
八個外部參考點涵蓋美元符號 U+0024 為 24、A 為 41、銅元符號 U+00A2 為 C2 A2、歐元符號 U+20AC 為 E2 82 AC、微笑表情 U+1F600 為 F0 9F 98 80、U+007F 邊界、U+0800 邊界以及最大數值 U+10FFFF 為 F4 8F BF BF。編碼與解碼測試均使用這些值。
十六進位輸出使用大寫兩位數位元組,以空格分隔。十進位輸出使用從 0 到 255 的數值,以空格分隔。二進位輸出每位元組使用恰好八位元組。這些僅為相同位元組序列的顯示表示,改變表示方式不會改變底層 UTF-8 串列。
十六進位解碼支援以空格或逗號分隔的一位或兩位數位元組標籤,分離標籤可選 0x 字首,或連續的偶數長度十六進位字串。十進位輸入僅接受整數標籤。二進位輸入需每標籤恰好八個零或一的字元。空輸入將解碼為空文字。
解碼器採用致命錯誤處理方式。過長的編碼如 C0 AF、截斷序列如 E2 82、孤立的連續位元組、代理編碼以及超過 U+10FFFF 的值會明確產生錯誤。這避免了將替代字元視為已驗證的原始文字。
文字編碼在呼叫 TextEncoder 前會檢查未配對的 UTF-16 奇異碼元。JavaScript 字串可能包含這些不正確的片段,平臺編碼器通常會將其取代為 U+FFFD。本工具拒絕這些片段,以確保聲稱的無損轉換不會靜默改變輸入。有效的雙位元組補充字元對將被接受。
輸入文字與位元組的上限分別為 200,000 UTF-16 碼元與 200,000 位元組。這些限制影響記憶體、標籤解析、輸出大小與介面運作。該轉換器不支援大檔案流式處理或上傳;處理大資料應使用專用的二進位工具。
UTF-8 位元組與 Unicode 碼點、UTF-16 碼元、HTML 程式碼、URL 百分編碼、Base64、十六進位數、加密或壓縮不同。一個四位元組表情符號對應一個 Unicode 碼點,但由四個 UTF-8 位元組組成,通常包含兩個 JavaScript UTF-16 碼元。結果面板根據操作顯示位元組或碼點。
一個位元組序列在不知其編碼的情況下沒有可見意義。本頁面僅支援 UTF-8 編碼,並不會自動偵測傳統編碼如 Windows-1252、Shift JIS、GBK 或 ISO-8859 系列。若傳統編碼失敗,應先確認原始編碼,而非強行透過 UTF-8 處理。
所有文字與位元組皆保留在當前標籤中。不會上傳、記錄、儲存、標準化、翻譯、轉換為其他情境或自動複製。為確保可靠使用,應先以短小且已知的樣本為起點,選擇正確的表示方式,檢查位元組邊界,並驗證往返轉換結果。在轉換未知來源之前,請先保留原始資料。
方法與來源
以 200,000 單元限制文字與位元組;拒絕未配對的 UTF-16 代理對;使用瀏覽器 TextEncoder 進行編碼;將每個位元組序列化為大寫兩位十六進位、十進位 0–255 或正好八位二進位;解析連續的十六進位對或嚴格分隔的詞彙;拒絕超出範圍與格式錯誤的表示法;使用 TextDecoder('utf-8', {fatal:true}) 進行解碼,使過長、截斷、代理、孤立連續以及超出範圍的序列產生錯誤;不進行正則化處理,並保留所有處理過程在本機執行。
常見問題
- 為何錯誤的 UTF-8 會產生錯誤,而不是取代為一個替代字元?
- 致命解碼可避免損壞或非 UTF-8 的位元組被視為已驗證的原始文字。
- 我可以貼上一個連續的十六進位字串嗎?
- 可以,只要它包含偶數個十六進位數位;分離的標籤與可選的 0x 字首也都被接受。
- UTF-8 與 Base64 或 URL 編碼相同嗎?
- 不。UTF-8 將 Unicode 數值對映為位元組;Base64 與百分編碼則代表位元組,用於不同的傳輸情境。
- 為何一個字元可能需要四個位元組?
- UTF-8 是變寬字元,且包含許多 emoji 等補充 Unicode 標量值,需佔用四個位元組。
相關工具
- 文字轉二進位轉換器將文字編碼為可見的 8 位元 UTF-8 二進位位元組,或解碼嚴格格式化的二進位位元組回傳為有效的 Unicode 文字。
- 十六進位轉文字工具依據明確的分隔符與 0x 字首規則解析十六進位位元組,僅解碼完整有效的 UTF-8,不進行靜默取代。
- ASCII 轉換器將標準 7 位 ASCII 文字轉換為十進位碼,或將十進位碼解碼為精確的 ASCII 字元本機執行。
- Base64 編碼 / 解碼立即在瀏覽器中編碼或解碼 Base64,完整支援 UTF-8 — 表情符號和重音字元都能使用。
- A1Z26 字母數字密碼轉換器把英文字母轉為明確的 A=1 至 Z=26 益智格式,並在不混淆單字邊界的情況下解碼經驗證的數字組。
- AES 線上加密完全在瀏覽器中把文字加密為可攜、具驗證能力的 AES-256-GCM JSON 封裝,或使用密碼解密封裝。
編碼與加密 使用指南
查看全部- How to Use a UTF-8 Encoder / Decoder (英文原文)
- UTF-8 Decode: Hex, Decimal, and Binary Bytes to Text (英文原文)
- Convert Encoding to UTF-8: Hex, Decimal, and Binary (英文原文)
- Compare Approaches to Use a ROT47 Encoder Decoder (英文原文)
- Rail Fence Cipher Decoder Alternative for Exact Text (英文原文)
- Convert Punycode to Unicode: Read xn-- Labels (英文原文)
- Check Password Strength in Python Without the Regex Trap (英文原文)
- Translate Morse Code to English: A Practical Workflow (英文原文)
- HTML Escape Cheat Sheet: Reserved Characters (英文原文)
- HMAC-SHA256 Tag Generator: Hex and Base64 Guide (英文原文)
- Hill Cipher Decoder Alternative: Skip the Matrix Math (英文原文)
- Convert Hex Format to Text: A Strict UTF-8 Workflow (英文原文)
- Convert File to Base64 for C# Code: Local Browser Steps (英文原文)
- Calculate CRC32 Checksum and Match the 8 Hex Digits (英文原文)
- BCC Checksum API Alternative: Compute Locally (英文原文)
- Caesar Cipher Decoder API Alternative Without Signup (英文原文)
- Binary to Text Encoding: A UTF-8 Guide (英文原文)
- Base64 to Hex Cheat Sheet: RFC 4648 Quick Reference (英文原文)
- Base58 Decode: Command Line vs Browser (英文原文)
- Decode Base32 in C#: Browser Tool or Library (英文原文)