idna
是 Python 中用于处理 国际化域名 (IDNA) 的核心库,实现了 IDNA 2008 协议(RFC 5890-5893)。它允许在域名中使用非 ASCII 字符(如中文、西里尔字母等),将其转换为兼容 DNS 系统的 ASCII 格式(如 xn--
前缀的 Punycode)。
1. 核心功能
- 编码:将 Unicode 域名 → ASCII 兼容格式(Punycode)
- 解码:将 Punycode 格式 → Unicode
- 支持 IDNA 2008 标准(兼容现代浏览器)
- 处理域名验证和规范化(如大小写折叠)
2. 安装
pip install idna