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 垃圾邮件扫描程序经常会错过促销信息和其他垃圾信息,因为它们会将电子邮件视为随机邮件。这被垃圾邮件发送者用来绕过基本的反垃圾邮件工具。