对 URL、参数、中文字符进行编码与解码,并支持解析查询参数为键值对。
URL 只能安全传输 ASCII 字符,中文、空格、&、?、= 这类字符必须转义成 %XX 的形式才能正确传递,这就是 URL 编码(也叫百分号编码)。
&、=、?、/ 全部转义,适合编码单个参数值。日常拼接查询字符串应该用这个。://、/、?、& 等 URL 结构字符,只转义中文和空格,适合编码完整 URL。空格 → %20(在表单里是 +) & → %26 = → %3D ? → %3F / → %2F 中文按 UTF-8 每字节转成一个 %XX。
只要参数值里可能出现空格、中文、& 等字符,就必须编码。最典型的 bug 是:参数值里含 & 没编码,导致后端把它当成了参数分隔符,值被截断。