传递数据中,如果存在用作分隔符的保留字符应该怎么办?
对可能产生歧义性的数据编码
如:
https://www.baidu.com/s?wd=?#!
https://www.baidu.com/s?wd=冯小圆 博客
https://www.baidu.com/s?wd=小圆 ‘>博客
保留字符与非保留字符
保留字符:
reserved = gen-delims / sub-delims
非保留字符:
unreserved = APLHA / DIGIT / "-" / "_" / "." / "~"
百分号编码方式:
pct-encoded = "%" HEXDIG HEXDIG
对于HEXDIG 十六进制中的字母,大小写等价
非ASCII码字符(例如中文):建议先UTF-8编码,再 US-ASCII 编码
对于URI合法的字符,编码和不编码是等价的
例如,"URI转换"既可以是"URI%e8%bd%ac%e6%8d%a",也可以"%55%52%49%e8%bd%ac%e6%8d%a"
原文:https://www.cnblogs.com/fengxiaoyuan/p/10927419.html