Glyph WidgetsGlyph Widgets
关于联系博客隐私条款在Ko-fi上支持

© 2026 Glyph Widgets. 保留所有权利。

·

100% 客户端处理

返回博客

编码工具套件|Base64与URL编解码

Encoding Suite 支持 Base64、URL、HTML 实体、二进制、十六进制、摩尔斯电码、ROT13 等 17 种格式的编码与解码,完全在浏览器中运行,免费使用。

Glyph Widgets
2026年2月27日
12 min read
base64 encoderurl encoderhtml encoderbinary converterhex converter

什么是 Encoding Suite?

Encoding Suite 是一款免费的浏览器端文本编码与解码工具,在单一界面中支持 17 种格式:Base64、URL 编码、HTML 实体、二进制、十六进制、摩尔斯电码、ROT13、Unicode 转义序列、XOR 密码、凯撒密码、Vigenère 密码、Atbash 密码、Punycode、Quoted-Printable、UUencode、压缩(GZip/Deflate/LZ-String)以及十六进制转储。它解决了开发者在编码查询字符串、解码 Base64 令牌或检查 HTML 编码 payload 实际内容时,需要不断切换不同工具的痛点。所有处理均实时进行,完全在客户端完成——数据不会发送到任何服务器。

主要功能

  • 17 种编码格式通过带标签的选项卡访问,每种格式均有专用的编码/解码模式。
  • 实时转换:主编码选项卡无需提交按钮,输入时输出即时更新。
  • 交换按钮:单击即可交换输入和输出,并自动切换编码/解码模式,使往返验证瞬间完成。
  • 密码支持:XOR(基于密钥,自身即为逆运算)、凯撒(移位 1–25)、Vigenère(关键词)和 Atbash(自身即为逆运算)与现代编码格式并排内置。
  • 压缩选项卡:使用 GZip、Deflate、LZ-String UTF-16 或 LZ-String Base64 压缩和解压文本。GZip 和 Deflate 的输出可以 Base64 或十六进制格式呈现,工具会显示原始大小、结果大小及压缩百分比。
  • 十六进制转储选项卡:从输入文本或上传文件生成 xxd 风格的十六进制转储,列宽可配置(每行 8、16 或 32 字节)。
  • 批量模式:通过任意标准编码选项卡处理每行一条字符串的列表,附带进度显示和"复制所有结果"导出功能。

如何使用 Encoding Suite

第一步:选择格式选项卡

打开 Encoding Suite。工具顶部排列着十七个选项卡:Base64、URL、HTML、Binary、Hex、Morse、ROT13、Unicode、XOR、Caesar、Vigenère、Atbash、Punycode、Quoted-Print.、UUencode、Compression 和 Hex Dump。点击所需格式的选项卡。

第二步:设置编码或解码模式

输入区域上方有一个带箭头图标的切换按钮。活动模式以主色高亮显示。点击箭头切换模式并自动交换当前的输入和输出——有助于确认对编码结果进行解码后能得到原始字符串。

第三步:输入文本

在左侧文本区域输入或粘贴文本(编码模式下标为"Input",解码模式下标为"Encoded")。输出会即时显示在右侧文本区域。对于需要密钥的密码格式(XOR、Vigenère),文本区域上方会显示"Cipher Key"输入框。对于凯撒密码,则显示数字移位字段(1–25,默认为 3)。

示例——编码 URL 参数:

选项卡:URL | 模式:Encode

输入:https://example.com/search?q=hello world&lang=en

输出:https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%26lang%3Den

示例——解码 Base64 JWT payload:

选项卡:Base64 | 模式:Decode

输入:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

输出:{"alg":"HS256","typ":"JWT"}

第四步:复制结果

点击输出面板右上角的 Copy 按钮将结果复制到剪贴板。复制时,工具还会将每次转换记录到历史面板(支持者功能)中。

第五步:使用压缩或十六进制转储处理高级任务

Compression 选项卡有独特的布局。选择算法(GZip、Deflate、LZ-String UTF-16、LZ-String Base64),选择压缩或解压模式,粘贴输入内容,然后点击 Compress/Decompress 按钮。对于 GZip 和 Deflate 压缩,选择 Base64 或 Hex 作为输出格式。压缩完成后,工具会显示原始字节数、结果字节数和大小缩减百分比。

对于 Hex Dump,在文本区域输入文本或上传文件(文件选择后,选择器会显示文件名和字节数)。选择每行 8、16 或 32 字节,然后点击 Generate Dump。输出遵循 xxd 格式:8 字符的十六进制偏移量、空格分隔的十六进制字节以及用管道符分隔的 ASCII 表示(不可打印字符替换为 .)。

实用示例

在模板中清理 HTML 输出

您正在构建电子邮件模板,需要对用户提供的内容进行转义。在 HTML 选项卡的编码模式下粘贴原始字符串 <script>alert("xss")</script>。输出:&lt;script&gt;alert(&quot;xss&quot;)&lt;/script&gt;。编码器处理 &、<、>、" 和 ' 字符。

解码 Quoted-Printable 电子邮件正文

许多电子邮件客户端使用 Quoted-Printable 编码非 ASCII 字符(é 对应 =C3=A9)。粘贴原始 QP 编码的正文,切换到解码模式下的 Quoted-Print. 选项卡,即可立即获得可读文本。解码器处理软换行(=\n)和 =XX 转义序列。

检查二进制文件的原始字节

将小型二进制文件上传到 Hex Dump 选项卡,以每行 16 字节生成转储。输出并排显示文件的字节偏移量、十六进制值和 ASCII 表示——与终端中 xxd 生成的视图相同——无需任何本地工具。

技巧与最佳实践

HTML 解码并不全面。 HTML 解码器处理十个命名和数字实体:&amp;、&lt;、&gt;、&quot;、&#39;、&#x27;、&apos;、&#x2F;、&#47; 和 &nbsp;。其他命名实体(如 &copy; 或 &eacute;)原样传递。如需完整的 HTML 实体解码,请改为在 <div> 元素中渲染内容。

ROT13 和 Atbash 是自身的逆运算。 对任一变换应用两次即可返回原始文本。它们没有单独的解码模式——编码/解码切换按钮对其无效。

XOR 密码输出可能包含不可打印字符。 XOR 在字节级别操作,因此 XOR 编码的输出通常类似二进制。如需可打印结果,可将 XOR 输出作为第二步通过 Base64 编码处理。

二进制和十六进制编码使用空格分隔的字节。 Binary 选项卡每个字符生成一个 8 位二进制组,以空格分隔(01001000 01101001)。Hex 选项卡以两字符十六进制对执行相同操作(48 69)。解码时,工具按空白字符分割,因此允许额外的空格。

Punycode 解码使用浏览器的 URL 解析器。 工具从 Punycode 输入构建 URL 对象进行解码。没有 xn-- 前缀的域名标签原样传递。

常见问题与故障排除

"Invalid Base64 input"错误: Base64 字符串必须使用标准字母字符(A-Z、a-z、0-9、+、/)以及可选的 = 填充。URL 安全 Base64(使用 - 和 _ 替代 + 和 /)会导致此错误。解码前将 - 替换为 +,将 _ 替换为 /。

"Invalid URL-encoded input"错误: URL 解码函数调用 decodeURIComponent,该函数在遇到格式错误的百分号转义序列(如单独的 % 或 %GG)时会抛出异常。请验证输入是有效的百分号编码文本。

"Invalid UUencoded data: missing begin/end markers"错误: UUencoded 数据必须以 begin 644 filename 行开头,并以反引号行后跟 end 结尾。缺少这些标记的不完整 payload 将失败。

压缩/解压失败: 对于 GZip/Deflate 解压,工具自动检测 Base64 与十六进制输入——若输入包含空格且匹配模式 [0-9a-fA-F ]+,则视为十六进制;否则视为 Base64。确保您的输入格式与压缩时使用的格式一致。

XOR 或 Vigenère 的输出为空: 两者都需要非空的密码密钥。输入密钥之前,输出字段将保持为空。

隐私与安全

Encoding Suite 在您的浏览器中执行所有转换。输入文本不会传输到任何服务器。压缩选项卡将 fflate 和 lz-string 作为 JavaScript 模块动态导入,从页面包中加载一次——转换时不进行任何外部 API 调用。XOR 和 Vigenère 的密码密钥仅在会话期间存在于浏览器内存中。工具加载后可完全离线运行。

常见问答

Encoding Suite 是免费的吗? 是的。所有 17 种编码格式均可免费使用,无使用限制。支持者功能(预设、历史记录、批量模式)需要 Glyph Widgets 支持者订阅。

它支持离线使用吗? 支持。初始页面加载(获取压缩库)后,所有转换均在浏览器内存中完全运行,无需网络请求。

我的数据安全吗? 所有文本处理均在客户端完成。任何内容都不会发送到服务器。这使 Encoding Suite 适合用于解码内部令牌、配置值和其他敏感字符串。

Base64 编码和 URL 编码有什么区别? Base64 使用标准字母将二进制数据转换为 64 个可打印 ASCII 字符的字符串,输出比输入约大 33%。URL 编码(百分号编码)将 URL 中保留或不安全的字符转换为 %XX 十六进制序列。对二进制内容(图片、令牌、payload)使用 Base64;对查询字符串值使用 URL 编码。

工具能处理 Base64 中的 Unicode 文本吗? 可以。Base64 编码器在将 UTF-8 字节序列传递给 btoa 之前,使用 encodeURIComponent 后跟 unescape 将其转换为字符串。这可处理包括表情符号和 CJK 文本在内的多字节字符。解码器反转此过程。

交换按钮的作用是什么? 点击 Encode 和 Decode 标签之间的箭头按钮,会将当前输出置换到输入字段并切换模式。这让您可以立即验证对某个值进行编码再解码是否无损。

哪些密码格式适合用于安全目的? 经典密码(凯撒、Vigenère、Atbash、ROT13)均不提供有意义的密码学安全性。XOR 仅在密钥真正随机且长度至少与明文相同时,才可作为一次性密码本使用。对于实际加密,请改用 AES Encryption 工具。

压缩比指示器是如何工作的? 对于 GZip 和 Deflate 压缩,工具将输入的原始 UTF-8 字节数与压缩二进制结果的字节数进行比较。显示的百分比为缩减量:(1 - compressedBytes / originalBytes) × 100。LZ-String 变体将原始字节数与编码字符串长度进行比较,由于输出是字符串而非原始字节,可能显示较小的缩减量。

能否通过压缩或十六进制转储选项卡进行批量处理? 不能。批量模式适用于所有标准编码选项卡(Base64 至 UUencode),但不适用于具有独特多字段界面的 Compression 或 Hex Dump。

二进制编码是否支持 U+00FF 以上的 Unicode 字符? 二进制编码器使用 charCodeAt 将每个字符映射到 8 位组,这意味着代码点 255 以上的字符会产生超过 8 位的值。对于完整 Unicode 文本的精确二进制表示,请改用 Unicode 转义选项卡,或在 Unicode Code Point Inspector 中检查 UTF-8 字节编码。

相关工具

  • Base64 Encoder/Decoder — 专用的 Base64 工具,提供额外选项,包括 URL 安全字母表和文件转 Base64 功能。
  • Hash Suite — 从文本或文件生成 MD5、SHA-256、BLAKE3 和 HMAC 摘要。
  • JWT Decoder — 解码并检查以 Base64url 编码的 JSON Web Tokens。

立即试用 Encoding Suite:Encoding Suite

最后更新:2026年2月27日

继续阅读

更多文章试用 Encoding Suite