编解码工具

支持多种编码格式,一键转换

选择类型
方向
输入
0 字符
结果
0 字符

什么是编码与解码?

编码(Encode)是将信息从一种形式转换为另一种形式的过程,解码(Decode)则是将编码后的信息还原为原始形式。编解码是计算机科学中最基础也最重要的概念之一,广泛应用于数据存储、网络传输、安全加密等领域。

常用编码格式详解

Base64 编码

Base64 是一种用 64 个可打印字符(A-Z、a-z、0-9、+、/)表示任意二进制数据的方法。它将每 3 个字节(24 位)拆分为 4 个 6 位组,每组映射到一个 Base64 字符。当原始数据长度不是 3 的倍数时,使用 = 进行填充。

  • 典型用途:在 JSON/XML 中嵌入二进制数据、邮件附件(MIME)、Data URI(如图片的 base64 内联)、JWT Token 的 payload 编码。
  • 特点:编码后体积增大约 33%,可读性差但可安全在文本协议中传输。

Base64URL 编码

Base64URL 是 Base64 的变体,将 + 替换为 -,将 / 替换为 _,并去掉末尾的 = 填充,使其可以直接用于 URL 路径和文件名,无需额外转义。

Base32 编码

Base32 使用 32 个字符(A-Z 和 2-7)表示二进制数据,每 5 位一组进行映射。相比 Base64,Base32 编码后体积更大(约增加 60%),但有以下优势:

  • 不区分大小写:适合人工输入和语音传输。
  • 无歧义字符:不含 0/O、1/I/L 等容易混淆的字符。
  • 典型用途:两步验证密钥(如 Google Authenticator)、DNS 安全扩展(DNSSEC)。

Hex(十六进制)编码

十六进制编码将每个字节表示为两个十六进制字符(0-9 和 A-F),是二进制数据最直观的可读表示形式。编码后体积增加 100%(翻倍)。

  • 典型用途:内存地址表示、颜色值(如 #FF5733)、哈希值显示、固件/二进制文件查看。

Binary(二进制)编码

二进制编码将每个字节转换为 8 位二进制字符串(0 和 1)。这是计算机最底层的表示形式,方便理解数据的位级结构。

URL 编码(Percent-Encoding)

URL 编码(又称百分号编码)将 URL 中的特殊字符(如空格、中文、&? 等)转换为 %XX 格式,其中 XX 是字符的十六进制 ASCII 码。这是 HTTP 协议的基础,确保 URL 可以安全地在网络上传输。

  • 典型用途:构造带参数的 URL(Query String)、表单数据提交(application/x-www-form-urlencoded)。

Unicode 转义

Unicode 编码将非 ASCII 字符转换为 \uXXXX 格式的转义序列,常用于 JSON、JavaScript 字符串、Java 源码等场景中表示国际字符。

ASCII 编码

ASCII 编码将每个字符转换为其对应的十进制数字编码(0-127)。这是最早的字符编码标准,奠定了现代文本编码的基础。

HTML 实体编码

HTML 实体编码将 HTML 中的特殊字符(如 <>&")转换为对应的实体名称或实体编号(如 &lt;&#60;),防止 XSS 攻击和 HTML 解析错误。

摩尔斯电码

摩尔斯电码(Morse Code)使用点(.)和划(-)的组合来表示字母、数字和标点符号,是电信史上最早的编码方式之一。虽然已不再用于现代通信,但仍是密码学和通信史上的重要遗产。

编码 vs 加密

许多人容易混淆编码和加密,但它们有本质区别:

特性编码加密
目的数据格式转换,便于传输/存储数据保密,防止未授权访问
是否需要密钥不需要需要密钥
可逆性完全可逆(公开算法)需正确密钥才能解密
安全性无安全性,仅格式转换提供机密性保障
典型示例Base64、Hex、URL EncodeAES、RSA、ChaCha20

如何选择合适的编码格式?

  • 嵌入二进制数据到 JSON/XML:Base64。
  • URL 参数传递:URL Encode 或 Base64URL。
  • 人工输入/语音传输:Base32(避免混淆字符)。
  • 调试二进制数据:Hex(十六进制)。
  • 理解数据位级结构:Binary(二进制)。
  • 网页中显示特殊字符:HTML Entity。
  • JavaScript/JSON 处理中文:Unicode 转义。

为什么在线编解码工具很有用?

在日常开发中,开发者经常需要快速验证编码结果、调试数据传输问题、或在不编写代码的情况下完成简单的编码转换。我们的在线编解码工具提供了 10 种常见编码格式的一键转换,支持实时双向切换,无需安装任何软件,打开浏览器即可使用,是每个开发者的必备工具箱。