文本编码与解码工具
选择 Base64、URL 编码、HTML 实体或 Unicode 转义,输入或粘贴文本,即可随输入看到编码或解码的结果。交换按钮会把输出变为下一次的输入,方便您检查往返转换是否一致。免费,无需注册,文本在您的浏览器中转换,从不上传。
如何使用文本编码与解码工具
- 1. 选择格式。 Base64、URL 编码、HTML 实体或 Unicode 转义;每张卡片都说明了它的用途。
- 2. 选择编码或解码。 编码会把可读文本转为该格式;解码则把它还原。
- 3. 输入或粘贴。 输出会随您的输入即时显示。没有任何内容会被提交。
- 4. 复制或交换。 复制到剪贴板 复制输出。交换输入/输出 把输出移入输入框并翻转方向,这是确认往返转换是否一致的最快方法。
各种编码的适用场景
| 格式 | 用途 | 标准 | 输出 |
|---|---|---|---|
| Base64 | 在纯文本通道中传送字节:电子邮件附件、data URI、令牌、JSON | RFC 4648 | 字母、数字、+、/ 与 = 填充;长度约增加三分之一 |
| URL 编码 | 将文本安全地放入查询字符串或路径段中 | RFC 3986 | 每个不安全字节写为 % 加两位十六进制数 |
| HTML 实体 | 在网页中显示 <、& 以及非 ASCII 字符 | HTML 字符引用 | 如 é 的十进制数字引用 |
| Unicode 转义 | 在 JavaScript、JSON 或 Java 源代码中写入非 ASCII 字符 | JSON (RFC 8259)、ECMAScript | \u 加每个字符四位十六进制数 |
编码不是加密。 这四种都是公开的、可逆的转换,没有密钥,任何人都能解码。Base64 尤其常被误认为是一种保护;它只是改变了字节的书写方式。
示例
以下是 Café & crème ☕ 经过各种格式处理后的输出,与工具给出的结果一致:
| 格式 | 编码结果 |
|---|---|
| Base64 | Q2Fmw6kgJiBjcsOobWUg4piV |
| URL 编码 | Caf%C3%A9%20%26%20cr%C3%A8me%20%E2%98%95 |
| HTML 实体 | Café & crème ☕ |
| Unicode 转义 | Caf\u00e9 & cr\u00e8me \u2615 |
注意每种格式保留了什么。HTML 编码把 & 写成 &,但保留普通字母和空格。Unicode 转义只改变编码超过 127 的字符,因此 & 保持不变。URL 编码则把整个字符串改写为 UTF-8 字节:é 是两个字节 C3 A9,因此写作 %C3%A9,空格为 %20。Base64 则改写全部内容,因为它以三个字节为一组,处理整个字符串的 UTF-8 字节。
容易出错的地方
- URL 编码针对的是组成部分,而非整个网址。 工具会转义除字母、数字以及
- _ . ! ~ * ' ( )之外的所有字符,因此a b&c=d/e?f会变为a%20b%26c%3Dd%2Fe%3Ff。斜杠、冒号和问号也会被转义,这对于值来说是正确的,但若用于完整的网址就会出错。 - 空格变为 %20,加号不会被解码。 表单数据用
+表示空格,但这里的解码会把a+b%20c解码为a+b c。 - Base64 使用标准字母表编码。 解码时也接受 URL 安全的 Base64,它用
-和_代替+和/,并且=填充可能缺失。编码始终写入+、/与填充,如果您需要 URL 安全格式,请自行替换。 - 超过 U+FFFF 的表情符号和其他字符 在 HTML 编码中被视为单个字符,每个字符写作一个引用(😀 写作
😀)。Unicode 转义则将其写为两个代理项转义(😀 写作\ud83d\ude00),JavaScript 和 JSON 都接受。 - 解码错误显示在输出框中,并以方括号括起,例如
[Error: invalid Base64 input],而不是单独的消息。
您需要哪个工具?
本页用于转换网页用的文本。若要查看文本的原始字节,请使用十六进制转换工具(十六进制字节)或二进制翻译工具(每 8 位一组)。若要查看字符的数字编码,请使用 ASCII 转换工具 获取十进制编码。要在进制之间转换数字,请使用进制。Base32、Base58 与 Ascii85 则由计划中的 Base 编码转换器 涵盖。
常见问题
- 这个工具支持哪些编码格式?
- 四种:Base64(RFC 4648)、URL 百分号编码、HTML 十进制数字实体,以及 Unicode
\u转义。每种都可以编码或解码。 - Base64 有什么用途?
- 它使用 64 个可打印字符表示二进制数据,以便通过专为文本设计的系统传送:电子邮件附件、嵌入图片的
data:URI、HTTP 基本认证头,以及 JSON Web Token 的各段。它会让数据大约增大 33%,并且不提供任何保密性。 - 什么时候应该使用 URL 编码?
- 只要用户提供的文本放入网址的任何部分——查询值、路径段、片段——都应使用,因为空格、& 符号、等号、非 ASCII 字母以及类似字符否则会被误读。应当编码各个部分,而不是整个地址。
- 编码与加密是一回事吗?
- 不是。编码只改变数据的书写方式,以便存储或发送;任何人都可以将其还原,而且没有密钥。加密则需要密钥。切勿用 Base64 或百分号编码来隐藏密码或令牌。
- 它能解码 URL 安全的 Base64 吗?
- 可以。粘贴使用
-和_的 URL 安全字符串,无论是否带=填充,都能解码。编码时使用的是标准字母表,因此如果您需要 URL 安全格式,请自行把+替换为-、/替换为_。 - 解码器能识别哪些 HTML 实体?
- 十进制引用(
é)和十六进制引用(é),适用于至 U+FFFF 的字符,以及一小组命名实体:&、<、>、"、'、 、©、®、™、€、£、¥、¢、—、–、«、»和…。其他命名实体(如é)会保持原样不变。 - 我的文本会被上传到任何地方吗?
- 不会。这四种转换都在您的浏览器中随输入即时完成,不会向 CitationEasy 发送任何内容。