擅长:python、mysql、java
<p>你说得对。URL字符是有限的:纯拉丁字母(a-z,小写和大写)和<em>符号</em>:<code>-</code>,<code>_</code>,<code>.</code>,<code>~</code>。其他字符用<code>%</code>后跟两个十六进制数字转义。[来源:<a href="https://tools.ietf.org/html/rfc3986#appendix-A" rel="nofollow noreferrer">RFC3986 appendix-A</a>]。有些人可以创造性地使用其他字符,这些字符实际上分割了路径和参数(例如<code>+</code>、括号等)。。在</p>
<p>历史上,URL被设计成供机器使用(<code>http://www.</code>不是最容易被人类阅读的前缀),所以这样的转义:可以放入所有字节,但这样的字节是用<code>%</code>编码的。在</p>
<p>域可以使用其他字符(ASCII以外的字符),但在这种情况下,它只是一种编码标准(到ASCII):DNS和协议仍然只使用ASCII字符。在</p>
<p>浏览器可以自动转义,您可以显示未转义的URL,但实际的URL是转义的。如果这种自动转义可以与邮件客户端/浏览器一起使用,那么您应该尝试使用您(或您的客户机)的用例。在</p>
<p>在任何情况下,使用HTML,您可以将URL显示为URL栏上要显示的URL上的实际URL(在链接上,您可以使用javascript进行一些控制)。在</p>