CoderTools

文本编码转换器

在十六进制、二进制、Unicode等多种编码格式之间转换文本

字节分隔符:
添加前缀:

编码转换文档

什么是字符编码?

字符编码是将字符映射为计算机可处理的数字的系统。不同的编码方案用于不同的目的,如存储、传输或显示文本数据。常见的编码包括ASCII、UTF-8、UTF-16等。

支持的格式

十六进制 (Hex)

使用0-9和A-F表示数字的十六进制表示法。每个字节用两个十六进制字符表示。广泛用于编程和调试。

二进制 (Binary)

仅使用0和1的二进制表示法。每个字节用8位表示。是计算机底层的数据表示方式。

Unicode转义

使用\uXXXX格式的Unicode转义序列,常用于JavaScript、JSON等编程语言中表示Unicode字符。

HTML实体

HTML实体编码,包括命名实体(如&)和数字实体(如&或&)。用于在HTML中安全显示特殊字符。

Punycode

用于国际化域名(IDN)的编码方案,将Unicode字符转换为ASCII兼容编码,以xn--开头。

常见用途

  • 调试程序时查看字符的十六进制或二进制表示
  • 处理网络协议中的数据编码
  • 分析和修复乱码问题
  • 在代码中使用Unicode转义序列
  • 处理国际化域名(IDN)
  • HTML/XML中的字符转义

字符集 vs 编码格式

字符集(Charset)和编码格式是两个不同的概念。字符集定义了文本中使用哪些字符(如ASCII、GB2312、GBK、Unicode等),而编码格式定义了这些字符在计算机中如何存储(如UTF-8、UTF-16等)。例如,同一个文本可以用GB2312字符集编码成GB2312编码,也可以用Unicode字符集编码成UTF-8。

如果您需要在不同字符集(如GBK、UTF-8、ISO-8859-1等)之间转换,而不仅仅是改变编码格式,请使用字符集转换工具。

常见问题

编码和加密有什么区别?

编码使用公开已知的方案将数据转换为另一种表示形式——无需密钥,任何人都可以还原。加密使用密钥对数据进行混淆,只有持有密钥的人才能解密。Base64 和十六进制是编码;AES 和 RSA 是加密算法。

为什么 Base64 编码的文本末尾有 = 或 ==?

Base64 将每 3 个输入字节编码为 4 个输出字符。当输入长度不是 3 的整数倍时,会在末尾添加一个或两个 = 作为填充,使输出为 4 的整数倍。一个 = 表示添加了 1 个填充字节,两个 == 表示添加了 2 个。部分实现会省略填充,两种形式均有效。

ASCII 和 Unicode 有什么区别?

ASCII 是 7 位编码,涵盖 128 个字符(A-Z、0-9 和常用标点符号)。Unicode 是字符集标准,涵盖超过 14 万个字符,覆盖所有书写系统。UTF-8、UTF-16 和 UTF-32 是将 Unicode 码点编码为字节的不同方式——UTF-8 对前 128 个码点与 ASCII 向后兼容。

什么时候应该用十六进制编码而不是 Base64?

十六进制(Base16)将每个字节表示为两个十六进制字符,虽然冗余,但对于技术检查来说直观易读——便于调试字节流、密钥和二进制协议值。Base64 压缩率比十六进制高约 33%,更适合在 JSON、邮件或 URL 中传输二进制数据。

Unicode 码点 U+XXXX 记号是什么意思?

U+XXXX 是 Unicode 码点的标准记法,其中 XXXX 是十六进制数字。例如,U+0041 是拉丁大写字母 A,U+4E2D 是汉字「中」。码点范围从 U+0000 到 U+10FFFF。U+ 前缀由 Unicode 联盟引入,用于将码点与字节值区分开来。

相关工具

快捷菜单

暂无访问记录