跳转至

std.enc

tier: alloc · since: std-0.2 stability: experimental

编码工具(hex/base64/percent;RFC 4648/3986 口径) 口径:编码方向字节透传;解码输出限可打印 ASCII(32-126),否则 None—— C8 约束(解释面 Str 只能由源码字面量切片构建,见 v0.2 API 规范 §0; String/字节构建面落地后升版放宽到全 UTF-8);解码长度/字符集非法 → None

pub fn

Signature Returns Description
enc_get(o: Option[Str], dft: Str) Str 发射面安全的 Option 解包/判定助手(match 形;.or/.is_some 成员调用在发射面
会产出悬逗号/未声明符号——C13a,见 v0.2 API 规范 §0)
enc_some(o: Option[Str]) Bool Option[Str] 是否 Some(发射面 C13 判别形助手)
hex_encode(s: Str) Str 字节 → 小写 hex 串(每字节 2 字符)
hex_decode(s: Str) Option[Str] hex 串 → 字节;奇数长/非 hex 位 None(大小写均收)
b64_encode(s: Str) Str RFC 4648 标准 base64(+ / 与 = 垫)
b64_decode(s: Str) Option[Str] base64 → 字节;非法字符 None(解码输出限可打印 ASCII,C8)
pct_encode(s: Str) Str percent 编码:URL 保留集外字节按 %XX 大写转义(未保留集 = 字母数字 - . _ ~)
pct_decode(s: Str) Option[Str] %XX 与字面字节还原;非法 % 序列 None(输出限可打印 ASCII,C8)