> 国际 | 域名 | Unicode <
// Punycode - 将 Unicode 编码为 ASCII 的国际域名工具
[UNICODE]
Unicode 支持
支持编码任意 Unicode 字符,包括表情符号和特殊文字。
[DNS]
兼容 DNS
生成仅含 ASCII 的域名,可直接用于 DNS 基础设施。
[STANDARD]
RFC 3492
面向国际化域名(IDN)的官方 IETF 标准。
>> 技术说明
Punycode 的工作原理:
Punycode 是一种 bootstring 编码,用于将 Unicode 字符串转换为 ASCII。它会将 ASCII 与非 ASCII 字符分离,然后仅使用 ASCII 编码 Unicode 字符的位置和数值。
示例:
"münchen" → xn--mnchen-3ya
为何使用 Punycode:
- >国际化域名(IDN)
- >DNS 系统中的 Unicode
- >包含 Unicode 的邮箱地址
- >与旧系统的向后兼容
- >跨系统互操作性
>> 常见问题
什么是 Punycode?
Punycode 是一种编码语法,用于将 Unicode 字符转换为 ASCII,以便在国际化域名(IDN)中使用。借助它,域名可以包含非 ASCII 字符。
为什么 Punycode 使用 "xn--" 前缀?
"xn--" 前缀用于标识该域名标签是使用 Punycode 编码的。它代表 "ASCII Compatible Encoding",避免与普通 ASCII 域名混淆。
域名中可以使用表情符号吗?
可以,表情符号可以通过 Punycode 编码。例如,😊.com 会被编码为 xn--e28h.com。但并非所有注册商都支持表情域名。
Punycode 只用于域名吗?
Punycode 主要为域名设计,也可以将任意 Unicode 文本编码为 ASCII。它通常用于 IDN 和国际化邮箱地址。