TingYu Tools

Punycode 编解码

国际化域名 IDN

Unicode → Punycode

编码
xn--fiqs8s.xn--fsqu00a.xn--0zwm56d

Punycode → Unicode

解码

常见示例

📚

使用说明

什么是 Punycode?

Punycode 是一种将 Unicode 字符串表示为 ASCII 字符串的编码方式,主要用于国际化域名(IDN)。它允许在 DNS 系统中使用非 ASCII 字符。

工作原理

Punycode 编码后的域名以 "xn--" 开头,后面跟着编码后的字符串。例如:"中国" 会被编码为 "xn--fiqs8s"。

使用场景

  • 注册包含本地字符的国际化域名
  • 在不支持 Unicode 的系统中表示域名
  • 配置 DNS 记录和服务器
  • 开发多语言网站和应用

常见示例

  • 中文:中国.com → xn--fiqs8s.com
  • 日文:日本.jp → xn--wgv71a.jp
  • 德文:müller.de → xn--mller-kva.de
  • 阿拉伯文:مصر.com → xn--wgbl6a.com
🔧

技术细节

编码规则

  • 所有编码后的域名以 "xn--" 前缀开始
  • ASCII 字符保持不变,只编码非 ASCII 字符
  • 大小写不敏感,通常使用小写
  • 每个域名标签单独编码(用点分隔)

浏览器支持

现代浏览器会自动处理 Punycode,用户可以在地址栏中输入 Unicode 域名,浏览器会自动转换为 Punycode 发送给 DNS。

安全提示

注意:Punycode 可能被用于钓鱼攻击(同形异义字攻击)。例如:"apple.com" 可能被伪造为使用西里尔字母的相似域名。请仔细检查域名的真实编码。

💡

小提示

在浏览器地址栏中,您通常看到的是 Unicode 域名,但实际网络请求使用的是 Punycode 编码。您可以使用开发者工具的网络面板查看实际请求。