Punycode编码/解码

专业的Punycode编码解码在线工具

什么是 Punycode?

Punycode 是一种用于将 Unicode 字符串转换为 ASCII 字符串的编码格式,主要用于支持国际化域名(IDN)。由于 DNS 系统传统上只支持 ASCII 字符,Punycode 使得非 ASCII 字符(如中文、日文、阿拉伯文等)能够被用于域名。

例如,中文域名 示例.中国 会被编码为 xn--fsq270a.com。这种编码方式确保了全球用户都能够访问使用各自语言的国际域名。

编码示例

原始域名(Unicode)
示例网站.com
Punycode编码后(ASCII)
xn--fsq270a.com

Punycode 编码/解码工具

使用说明

  • 编码(Encode):将中文字符转换为 Punycode 格式(如:测试 → xn--g9ah9a)
  • 解码(Decode):将 Punycode 格式还原为中文字符
  • • 支持批量处理多行文本
  • • 自动检测输入内容并选择合适的转换方式

Punycode 编码原理

Punycode 编码算法基于 RFC 3492 标准,其核心思想是将 Unicode 字符串分为"基本字符"和"插入字符"两部分进行处理。

编码步骤

提取基本字符:保留所有 ASCII 字符作为基本字符序列
处理非ASCII字符:将非 ASCII 字符转换为 Unicode 码点
生成插入序列:使用派生自插入字符的变音符号的变音符号索引
编码输出:格式为 [基本字符-] + "xn--" + [ACE字符串]

字符集对应示例

Unicode字符 Unicode码点 Punycode示例
U+4E2D 1. 中
U+56FD g6k. 中国
百度 U+767E + U+5EA6 baidu. 中国

应用场景

国际化域名

支持中文、日文、阿拉伯文等非ASCII域名在全球DNS系统中的使用

URL编码处理

处理包含非ASCII字符的URL,确保浏览器和服务器正确解析

国际化标识符

处理国际化的邮箱地址、用户名等标识符的编码转换

邮件系统

支持SMTP协议中的国际化邮件地址和主题

安全考量

防止同形异义字攻击,保护用户免受钓鱼网站侵害

SEO优化

提升多语言网站在搜索引擎中的可见性和排名

浏览器兼容性

浏览器 最低版本 支持状态
Chrome 1.0+ 完全支持
Firefox 1.0+ 完全支持
Safari 1.0+ 完全支持
Edge 12.0+ 完全支持
Opera 7.0+ 完全支持

提示:现代浏览器对 Punycode 的支持已经非常完善。如果遇到问题,请确保您的浏览器已更新至最新版本。

常见问题 (FAQ)

相关资源

今日黄历信息

农历日期
二〇二六年四月十五
日柱干支
乙巳
今日吉神
祭祀、解除、断蚁、会亲友、馀事勿取