URL编码的思考

最后更新于:2022-04-02 04:31:11

## URL编码的思考 `url: a=1&b=2 ` url 编码,参数 使用 `&` 分割 Q: 那如果 要传输的值也为 `&` 怎么办? A: 将 `&` 编码为 `%26` 即 `a=1%26&b=2 ` Q: `%26` 就代表 `&` 了啊,那如果 我要传输的是 `%` 呢 A: `%` 也有对应 的编码 `%25`,即 `a=1%25%26&b=2 ` 可以看到,系统 分隔符 我们会使用一个 其它的符号进行编码,而 那个其它符号 本身也需要编码,它的编码有一部分又是自己,不然就无穷了 即 X 为系统符号,可以编码为 YA,而 Y 可以用 YB 编码,这里 A、B 是常规符,如数字 总结: 1. X 的编码不能再包含X,否则就没有意义 2. Y 的编码需要再次包含Y,否则就是无穷的问题了 ---- 再来看一个 tp 里面的 tpl `view_replace_str` 输出替换配置 THINK 默认 会被替换,如果我们就是想显示 THINK 这个字符呢, _THINK => 'THINK' 就行了 但是我们 也想显示 _THINK 呢 __THINK => '_THINK' 如果我们 也想显示 __THINK ... 可以看到这成了一个无穷无尽的问题了,用 A 做配置,就无法输出 A,于是用 B 帮忙输出 A,但是 B 又无法输出了,... 这总会牺牲一个,让你有一个无法显示的 ---- [Base64 Encoding/Decoding · 开发者工具箱](https://devtool.tech/base64) base64 编码
';