构建 URL query strings from objects
Construct properly encoded 查询 strings 从 JavaScript objects. Handle arrays, nested objects, 和特殊 characters 正确.
- 1
Building 查询字符串 requires: 键=值 pairs joined 通过 &, percent-编码的 关键和 values, handling 的 arrays (repeated 关键或 bracket notation), 和 omitting 未定义/空 values. order 的 parameters 可以 matter 为 caching 和签名验证.
- 2 URL 编码器 →
Percent-编码每个键 和值. Spaces → %20, & → %26, = → %3D, non-ASCII → UTF-8 percent-编码. Use encodeURIComponent (不 encodeURI) 为查询字符串 values — 它 encodes 所有 reserved characters.
- 3 URL 解析器 →
Verify built URL 通过 parsing 它回. parsed 查询字符串应该匹配原始 object. 此 round-trip 测试 catches 编码错误和 structural issues.
- 4
常见问题
- 应该 I use encodeURIComponent 或 encodeURI?
- Use encodeURIComponent 为查询字符串关键和 values — 它 encodes 所有 reserved characters (&, =, +, /, etc.). Use encodeURI 为完整 URLs — 它 preserves URL 结构 characters (?, &, =, /). Using 错误 one causes 编码 bugs.
- 如何 I 处理未定义和 空?
- Omit 未定义和 空 values — 它们应该不 出现在 查询字符串. 为 falsey values: 0, 假, 和空 字符串应该是 included as 键=0, 键=假, 键=. Decide based 开你的 API 契约 — 一些 APIs distinguish 不存在 vs. 空.
解决此任务的工作流
Base32 转十六进制
将 Base32 解码并重新编码为十六进制。 管道
Base64 转 Hex
将 Base64 字符串解码为原始字节,再编码为十六进制以便检视或互操作。 管道
二进制转 Hex
将二进制(base-2)字符串解码为字节值,再编码为十六进制。 管道
ChaCha20 加密后十六进制
ChaCha20 加密后十六进制编码密文。 管道
为 URL 传输编码 JSON 载荷
将 JSON 文档准备为 URL 参数:格式化、Base64 编码、再百分号编码——即嵌套参数解码链的精确逆过程。 管道
Hex 编码→解码→验证
将文本编码为十六进制再解码回来,验证往返过程完整保留原始数据。 管道
Hex 编码文本并分析
将文本转换为十六进制表示,再对 hex 输出计算字符统计。 管道
Multibase 转十六进制
将 multibase 解码并重新编码为十六进制。 管道
八进制转十六进制
将八进制解码并重新编码为十六进制。 管道
Punycode 解码并 URL 解析
解码 Punycode 域名后解析完整 URL。 管道
反转文本并显示 Hex 编码
反转字符串再检视其十六进制表示——用于调试字节序问题和编码谜题。 管道
SHA-512 哈希后十六进制编码
计算 SHA-512 哈希后编码为十六进制。 管道
短横线命名并 URL 编码
转为短横线命名后 URL 编码用于安全 URL slug。 管道
解码 URL 并显示 Hex 字节
百分号解码 URL 编码字符串,再查看其十六进制字节表示以进行底层分析。 管道
URL 解码并解析
URL 解码后解析 URL 组件。 管道
URL 编码后 Base64 双重编码
URL 编码后 Base64 编码用于 API 负载双重编码。 管道
为 URL 传输编码文本载荷
百分号编码文本再显示其 hex 表示,用于安全的 URL 参数传输。 管道
XXencode 后十六进制
XXencode 文本后十六进制编码结果。 管道