Javascript 为什么要对url进行编码,或者对哪些字符进行编码
由于URL通常包含ASCII集合之外的字符,因此URL具有 要转换为有效的ASCII格式 但是空格、/、%都是ASCII字符集的一部分,那么为什么要首先对它们进行编码呢?应该对哪些字符进行编码?给您:Javascript 为什么要对url进行编码,或者对哪些字符进行编码,javascript,asp.net,html,web,Javascript,Asp.net,Html,Web,由于URL通常包含ASCII集合之外的字符,因此URL具有 要转换为有效的ASCII格式 但是空格、/、%都是ASCII字符集的一部分,那么为什么要首先对它们进行编码呢?应该对哪些字符进行编码?给您: 这是我找到的最好的解释,对我很有帮助。某些字符(如空格)需要转义以确保URL有效。生成GET参数时肯定会出现这种情况。如前所述,空格在URL中无效。大多数浏览器都会自动对它们进行编码。然而 您链接到的页面中有一个例子,在“Try me”部分使用了“Günter”一词。如果单词“Günter”作为
这是我找到的最好的解释,对我很有帮助。某些字符(如空格)需要转义以确保URL有效。生成GET参数时肯定会出现这种情况。如前所述,空格在URL中无效。大多数浏览器都会自动对它们进行编码。然而 您链接到的页面中有一个例子,在“Try me”部分使用了“Günter”一词。如果单词“Günter”作为查询字符串参数发送,它将无法工作。因为“ü”不在标准ASCII字符集中 这意味着在可能存在非ASCII字符时使用。例如,使用数据库中的数据创建超链接。假设代码创建了一个指向用户配置文件页面的链接。未编码的,我的将是:
<a href="profile/?username=David Stratton">Your profile</a>
而甘特的
<a href="profile/?username=Günter">Your profile</a>
我的,大多数浏览器都能处理。甘特的,也许不是
编码后,这些将成为
<a href="profile/?username=David%20Stratton">Your profile</a>
及
哪些是有效的URL
(请原谅,大多数设计良好的系统都不会在这样的参数中传递用户名。这只是澄清概念的一个示例。)URL中的字符应该进行编码,因为根据,有些字符是不允许的,有些字符不能在所有字符集中表示 请参阅以获取更多指导
关于您提供的字符示例,“/”保留用作URL中的组件分隔符,“%”用作转义字符 例如UTF-8字符,或来自不同字符集的任何字符。ASCII几乎是最小的字符范围。我不是舒尔,但我认为每个字符都应该进行编码,可能有不同的含义(例如&和空格)。不要使用w3schools.com,它与w3c无关,而且经常出错。请不要只是说“它不会工作”。另一方面,如果出现问题,请至少解释一下它的功能。
?q=Günter
在Chrome中对我来说很好“this intro”链接非常棒,可以解释一切!!
<a href="profile/?username=G%FCnter">Your profile</a>