Base64轉換器

添加到網站 元資訊

其他工具

Base64解碼器和編碼器

Base64解碼器和編碼器

Base64 是一種以 64 個可打印 ASCII(美國信息交換標準代碼)字符為基數的位置編號系統。例如,該系統用於在電子郵件中顯示二進製文件。所有 Base64 變體都使用字符 A-Z、a-z 和 0-9,總共 62 個字符,在實現系統中將缺少的兩個字符替換為不同的字符。每三個原始字節用四個字符編碼。

Base64 的歷史

起初,只能通過電子郵件發送文本 (RFC 822)。隨著時間的推移,除了傳輸文本之外,還需要傳輸音頻、視頻和圖形文件、應用程序等。需要將二進製文件轉換為文本。 Base64 被添加到當時現有的 UUE 編碼 (Uuencode) 中,該編碼用於 MIME(多用途 Internet 郵件擴展)規範 (RFC 2045-2049)。

MIME 是一種描述電子消息標題的標準。它的使用允許您在一封信中發送多個附件,例如存檔和文本文件或 HTML 頁面。一個支持 MIME 的電子郵件程序可以自由地從文本文件中提取存檔、顯示消息並解析 HTML 標記。例如,Outlook Express 會自動運行嵌入在 HTML 頁面中的腳本。

Base64 誕生於七位、六位和三位字節的時代。舊編碼不支持八位標準,因此,從舊系統傳輸到新系統時,部分信息會丟失。通常,在發送信件時,郵件服務器會丟失一個額外的、八分之一的比特,或者沒有傳輸視頻和圖像。為了消除這些麻煩,開發了將二進制代碼轉換為文本的編碼。最流行和最有效的系統是 Base64,由於它的簡單性,它無處不在。

一種稱為“打印編碼”的算法於 1987 年首次被描述,Base64 於 1992 年 6 月出現。該系統的版本有Base16、Base32、Base36、Base58、Base85、Base91和Base122。後來的標准在 IT 領域得到積極使用。

有趣的事實

一些系統使用 Base58 對 URL 進行編碼,這與 Base64 的不同之處在於最終文本中沒有字符,人們可能會模棱兩可地感知。不包括 0(零)、O(大寫拉丁文 o)、I(大寫拉丁文 i)、l(小拉丁文 L)。還排除了 +(加號)和 /(斜杠)字符,它們在對 URL 進行編碼時會導致對地址的錯誤解釋。

Base64 提供可逆和可恢復的編碼。該服務將八位代碼表的字符轉換為在網絡中和設備之間傳輸信息期間保留的字符。

Base64解碼和編碼

Base64解碼和編碼

Base64 基於將三個 8 位減少到四個 6 位並將它們表示為 ASCII 字符。生成的可逆加密的唯一缺點是大小,在編碼過程中以 4:3 的比例增加。

Web 應用程序中的 Base64

Base64 是在 HTML 中包含二進製文件的能力。沒有單獨圖像和添加的文檔包含圖形、音頻和視頻元素,因此替換了 DOC、DOCX、PDF 文件。

一些應用程序對二進制數據進行編碼,以使其更容易包含在 URL 中。在 Base64 的情況下,使用 URL 編碼器可能不方便,因為字符“/”和“+”被轉換為十六進制序列。這個過程是可逆的,但恢復會使字符串的進一步解析變得複雜。此外,在某些情況下,當通過其他系統傳遞字符串時,必須重新轉義“%”字符。

URL 的特殊 Base64 省略了“=”符號,並將“+”和“/”字符替換為“*”和“-”。同時編碼不改變值的長度,編碼後保存表單,可用於關係型數據庫、Web表單和標識符。 URL 的 Base64 標準變體將“+”和“/”替換為“-”和“_”(RFC 3548 第 4 節)。

正則表達式的 Base64 變體之一包含“!”和“-”而不是“*”和“-”,而不是“+”和“*”。這些字符可以保留給正則表達式。在這種情況下,[ ] 可能不起作用。

還有帶有“_”/“-”或“.”/“_”的變體使用 Base64 字符串和程序標識符,或“.”/“-”用於 XML 名稱標記 (Nmtoken),或“_”/“:”在更有限的 XML 標識符(名稱)中。另外,不帶“+”和“/”字符的URL使用Base58。

Base64 適用於編碼 JPEG 和 PNG 圖像以插入 FB2 電子書。

Base64 編碼允許您通過長短信發送小圖像。

Base64 應用非常廣泛。因此,在 Mozilla Thunderbird 和 Mozilla Application Suite 中,Base64 系統有助於在 POP3 中隱藏密碼。 Base64 可以隱藏加密密鑰管理信息,但由於不安全,不建議使用。

非 Base64 垃圾郵件掃描程序經常會錯過促銷信息和其他垃圾信息,因為它們會將電子郵件視為隨機郵件。這被垃圾郵件發送者用來繞過基本的反垃圾郵件工具。