普贤教程 › 包参考
punycode 包
Punycode / IDNA 域名编码
| 项 | 值 |
|---|---|
| 包名 | punycode |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | punycode.px |
| 分类 | 网络与协议 |
| 文件数 / 行数 | 1 / 279 |
安装与引入
bash
pxpkg init # 首次 pxpkg add punycode@0.2.0 pxpkg install
px
import punycode所属分类教程:网络与协议
公开接口
| 函数 | 参数 |
|---|---|
pc_encode | label |
pc_decode | puny |
pd_encode | host |
pd_decode | host |
其余 14 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
pc_digit | v |
pc_dec_digit | c |
pc_adapt | delta, numpoints, firsttime |
pc_threshold | k, bias |
pc_is_basic | c |
pc_cps | s |
pd_t | j, bias |
pd_adapt | delta, first, numchars |
pd_gnumber | ext, extpos, bias |
pc_encode_url | url |
pc_decode_url | url |
pc_is_ascii | s |
pc_is_punycode | label |
pc_strip_prefix | label |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/punycode —— Punycode / IDNA 域名编码 ------------------------------------------------------------ 纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。 pc_encode(label) → Ok(str) 纯 Punycode(不含 xn-- 前缀) pc_decode(puny) → Ok(str) | Err pd_encode(host) → Ok(str) 完整域名转 ASCII(xn-- 前缀,小写) pd_decode(host) → Ok(str) | Err 还原 Unicode 域名 常量:base36 / tmin=1 / tmax=26 / skew=38 / damp=700 / bias0=72 / n0=128。 对拍 python idna:'中文' → 'xn--fiq228c';'bücher' → 'xn--bcher-kva'。 ============================================================