网址查询字符串中允许使用哪些字符?
查询字符串是否必须遵循特定格式?
答案 0 :(得分:11)
每http://tools.ietf.org/html/rfc3986
在2.2保留字符部分中,列出了以下字符:
reserved = gen-delims / sub-delims
gen-delims =“:”/“/”/“?”/“#”/“[”/“]”/“@”
sub-delims =“!”/“$”/“&”/“'”/“(”/“)”/“*”/“+”/“,”/“;” /“=”
然后规范说:
如果URI组件的数据与保留字符冲突 作为分隔符的目的,那么冲突的数据必须是 在URI形成之前进行百分比编码。
接下来,在2.3节中未预留的字符中,列出了以下内容:
unreserved = ALPHA / DIGIT /“ - ”/“。”/“_”/“〜”
答案 1 :(得分:11)
维基百科有你的答案:http://en.wikipedia.org/wiki/Query_string
“网址编码:某些字符不能是网址的一部分(例如空格),而其他一些字符在网址中具有特殊含义:例如,可以使用字符#进一步指定文档的子部分(或片段); character =用于将名称与值分开。可能需要转换查询字符串以满足这些约束。这可以使用称为URL编码的模式来完成
特别是,对查询字符串进行编码时使用以下规则:
对应于波浪号(“〜”)字符的八位字节通常由较旧的URI处理实现编码为“%7E”; “%7E”可以用“〜”代替而不改变其解释。 将SPACE编码为“+”并选择“原样”字符将此编码与RFC 1738区分开来。“
关于格式,查询字符串是名称值对。的?将查询字符串与URL分开。每个名称值对用和号(&)分隔,而名称(键)和值用等号(=)分隔。例如。 http://domain.com?key=value&secondkey=secondvalue
在我提供的维基百科参考中的结构下:
答案 2 :(得分:1)
此链接包含您需要的答案和格式化值。
https://perishablepress.com/url-character-codes/
为方便起见,这是清单:
< %3C
> %3E
# %23
% %25
{ %7B
} %7D
| %7C
\ %5C
^ %5E
~ %7E
[ %5B
] %5D
` %60
; %3B
/ %2F
? %3F
: %3A
@ %40
= %3D
& %26
$ %24
+ %2B
" %22
space %20