在 Windows 上使用 Base100 編碼無需安裝軟體,任何現代瀏覽器都能直接運作:開啟 Edge、Chrome 或 Firefox,載入 Base100 編碼/解碼工具,該工具就會把輸入內容的每個 UTF-8 位元組轉換成一個 Unicode 碼位,範圍落在 U+1F3F7 到 U+1F4F6 之間(含端點)。這個對應關係採用 Adam Niederer 的 Base100 專案原始的位元組對表情符號公式:位元組值 0 對應 U+1F3F7,位元組值 1 對應 U+1F3F8,位元組值 255 對應 U+1F4F6,每個位元組產生一個位於表情符號區段的符號,沒有填補字符、沒有分隔符,也沒有校驗碼。所有轉換步驟都在瀏覽器分頁中本機執行,因此不會有任何字元或符號離開你的 Windows 電腦。Windows 10 與 Windows 11 內建 Segoe UI Emoji 彩色字型,所以輸出通常會呈現為可辨識的圖示,而不是豆腐方塊。若要還原資料流,把完全未經修改的符號序列貼回同一頁面,選擇 Base100 轉文字,然後執行解碼——解碼器會執行嚴格的驗證,拒絕空格、換行、變體選擇符,以及任何落在 256 個符號範圍之外的碼位;當位元組無法重新構成有效的 UTF-8 時,它會回報錯誤,而不是悄悄插入替換字元。

如何在 Windows 瀏覽器中編碼與解碼 Base100
Windows 沒有內建 Base100 編碼器,但 Edge、Chrome 與 Firefox 都內含 JavaScript 引擎,可在瀏覽器分頁中執行位元組對表情符號的對應。Base100 編碼/解碼器使用 WHATWG 編碼標準處理 UTF-8 邊界,並採用 Adam Niederer 的參考對應來執行位元組對碼位的步驟,因此輸出會與任何其他符合該格式的實作一致。在 Windows 10 或 11 的電腦上,請依照下列步驟進行編碼或解碼。
- 啟動 Edge、Chrome 或 Firefox。這三者在 Windows 10 與 11 上皆完整支援 BMP 與輔助平面的 Unicode。
- 前往 Base100 編碼/解碼器頁面,等待 JavaScript 完全載入後再進行操作。
- 當你想把 UTF-8 文字編碼成表情符號時,請選擇文字轉 Base100;當你想從符號資料流還原原始字串時,請選擇Base100 轉文字。
- 在輸入框中輸入文字,或使用 Ctrl+V 從剪貼簿貼上。
- 點擊「Encode」按鈕(若是還原資料流則點「Decode」)。編碼會先把輸入字串轉成 UTF-8 位元組,再把每個位元組的值加上 U+1F3F7,對應到一個碼位。
- 複製輸出的資料流。若頁面提供複製按鈕請使用它,或選取文字後按下 Ctrl+C。不要加入空格、換行或表情符號變體選擇符——解碼器會將它們視為無效。
- 若要驗證來回轉換是否一致,請把模式切回 Base100 轉文字,貼上同一段資料流,然後解碼。還原後的文字應與原始 UTF-8 輸入在位元組層級完全相同。
若解碼失敗,在 Windows 上最常見的原因是聊天應用程式、剪貼簿管理程式或正規化步驟附加了變體選擇符。請從純文字來源(例如 Windows 11 的 Notepad 或瀏覽器的原始碼檢視)重新複製資料流,再試一次。
在 Windows 上比較瀏覽器、PowerShell 與 Notepad 的 Base100 支援
| Windows 工具 | 原生 Base100 對應 | UTF-8 處理 | 本機執行 | 嚴格解碼驗證 |
|---|---|---|---|---|
| Edge / Chrome / Firefox(搭配網頁工具) | 以 JavaScript 實作 | WHATWG 標準 | 是(分頁內) | 是——拒絕超出範圍與無效的 UTF-8 |
| PowerShell 7 | 無內建 | 支援,但無 Base100 cmdlet | 是 | 無原生 Base100 管線 |
| Windows Terminal + PowerShell | 無內建 | 支援 | 是 | 否 |
| Notepad(Windows 11) | 無 | 支援,可明確以 UTF-8 儲存 | 是 | 否 |
| Notepad++ | 無 | 支援 | 是 | 否 |
這個表格純粹是定性描述——確切的輸出長度取決於你所處理的特定 UTF-8 位元組序列,而針對你輸入的數值會直接來自 Base100 編碼/解碼器。PowerShell 與 Windows Terminal 可以把表情符號回顯到主控台,但兩者都沒有實作 Base100 對應的 cmdlet 或內建函式。在 PowerShell 中撰寫自訂編碼器,既較慢又比直接載入遵循 Rust 參考專案公式的網頁工具更容易出錯,該公式記錄於 GitHub 上的 AdamNiederer/base100。Notepad 與 Notepad++ 能在編輯區中顯示表情符號,但不提供編碼操作,因此它們無法自行把文字轉成 Base100 資料流。相較之下,瀏覽器頁面只需幾毫秒就能完成對應、把結果複製到 Windows 剪貼簿,並拒絕解碼任何遭到竄改的輸入——當它通過聊天應用程式或可能插入額外字元的剪貼簿管理程式時,這是一項有用的安全特性。
Windows 表情符號渲染與 Segoe UI Emoji 字型
Windows 10 首次內建 Segoe UI Emoji 彩色字型,Windows 11 則透過 Segoe UI Variable 擴大涵蓋範圍。Base100 的大部分輸出範圍(U+1F3F7 到 U+1F4F6)落在輔助平面內,因此在啟用 DirectWrite 的情況下(自 Windows 8.1 起為預設),這些系統能將符號渲染為彩色圖示。少數邊緣碼位會依據作用中字型、瀏覽器版本與顯示縮放比例,呈現為單色字形、裝飾方塊或意外形狀。這種視覺上的差異對編碼本身並無影響——底層碼位在位元組層級仍然相同——但會影響人工以肉眼抽樣檢查 Base100 資料流時的可讀性。
若你看到豆腐方塊(□)而非表情符號,最可能的原因是舊版 Windows 缺少該字型、遠端桌面工作階段的字型支援被縮減,或瀏覽器被設定為回退到非表情符號字型。安裝 Segoe UI Emoji、改用較新的 Edge 或 Chrome 版本,或把資料流貼到自帶表情符號字型的聊天應用程式,通常就能恢復視覺呈現。這些渲染差異都不會改變位元組資料流,因此即使螢幕上的字形看起來不尋常,正確複製的 Base100 序列仍可解碼回原始文字。
在 Windows 上破壞嚴格 Base100 解碼的陷阱
Base100 解碼在設計上就是嚴格的。Base100 編碼/解碼器以 Unicode 碼位方式讀取貼上的資料流,檢查每個碼位是否落在 U+1F3F7 到 U+1F4F6 之間,減去 U+1F3F7 以還原每個位元組,並對產生的位元組序列執行嚴格的 UTF-8 驗證。任何偏差都會產生錯誤,而不是部分結果。在 Windows 上,最常見的偏差來源包括:
- 聊天程式附加的變體選擇符。部分 Windows 應用程式會在表情符號區段的字元後加上 U+FE0F(變體選擇符-16)以調整呈現方式。嚴格的 Base100 會拒絕這些碼位,因為它們落在 256 個符號的範圍之外。
- 剪貼簿管理程式插入的空格。剪貼簿歷史紀錄工具偶爾會在字元之間插入一個空格。嚴格的 Base100 會拒絕空格。
- 文書處理器加入的自動換行。把資料流貼到 WordPad 或 Outlook 時,可能會在欄邊界處插入換行符號。嚴格的 Base100 會拒絕換行。
- 較舊的表情符號字型替換了碼位。舊版字型可能會把某個碼位替換成另一個。即使替換在螢幕上看不出來,該資料流仍會通過驗證失敗。
- 正規化為 NFC 或 NFKC。Unicode 正規化可能會把兩個碼位摺疊成一個預先組成的碼位。Base100 的位元組並非預先組成,因此正規化會破壞來回轉換。
當互通性比便利性更重要時,請透過 Windows 11 的 Notepad 等純文字來源複製資料流,它能在不修改的情況下保留 UTF-8 位元組序列;在解碼前,請先確認貼上的內容長度與來源一致。
在 Windows 上 Base100 不是正確選擇的時機
Base100 是可逆的位元組編碼,不是加密、不是雜湊、不是壓縮、也不是身分驗證。任何知道對應方式的人都能還原原始位元組,而且在語法上有效的資料流中,沒有校驗碼能偵測意外或惡意的竄改。對於密碼、API 權杖、私密金鑰或任何其他秘密資料,請使用經過審核的認證加密格式——例如本分類中的 AES-256-GCM 工具,或採用已公開威脅模型的密碼管理程式。
當目的通道僅限於 ASCII 字元時——例如環境變數、SMTP 標頭、舊式資料庫欄位,或會剝除非 ASCII 位元組的設定檔——Base100 將無法存活,因為每個 Base100 符號都是遠高於 U+007F 的輔助平面碼位。在這種情況下,Base64 編碼/解碼、Base32 編碼/解碼或 文字轉 HEX 通常相容性更佳,因為它們只產生可列印的 ASCII。Base100 在 Windows 上最適合的場景,是目的端為支援 Unicode 的介面——例如聊天訊息、Markdown 文件、GitHub 議題中的程式碼片段,或 JSON 字串——而且可讀的表情符號資料流本身就是重點。
最後請記住,Base100 編碼的是 UTF-8 位元組,而非字元。原始輸入中只要有一個帶附加音符號的字母、CJK 表意文字或輔助平面的表情符號,就會展開成多個 Base100 符號,因為每個 UTF-8 位元組都會變成一個碼位。頁面上的 500,000 符號上限是為了避免瀏覽器在貼上大量內容時當機,因此對極大的輸入,請分批編碼,並在繼續前確認每一批都能正確來回轉換。
若你在權衡選項,在 Windows 上使用 Gzcompress 線上工具:在 Edge 或 Chrome 中執行有詳細說明。
若你在權衡選項,安全地進行 Base100 編碼:位元組精確的工作流程有詳細說明。