px普贤教程PuXian
普贤教程 › 包参考

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_encodelabel
pc_decodepuny
pd_encodehost
pd_decodehost
其余 14 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
pc_digitv
pc_dec_digitc
pc_adaptdelta, numpoints, firsttime
pc_thresholdk, bias
pc_is_basicc
pc_cpss
pd_tj, bias
pd_adaptdelta, first, numchars
pd_gnumberext, extpos, bias
pc_encode_urlurl
pc_decode_urlurl
pc_is_asciis
pc_is_punycodelabel
pc_strip_prefixlabel

包内说明(源码头注释)

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'。
============================================================