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 编码
';