1

我不确定是否有必要对字符串进行 URL 编码和 HTML 编码(好吧,也许除非您正在构建一个 html 文件,其中包含使用从数据库中提取或由用户提供的数据构建的超链接),但无论如何,我想知道无论操作顺序如何,结果是否相同。

4

2 回答 2

3

如果您的意思是 URLEncode 之类的 JavaScript 的 encodeURI 函数,那么顺序无关紧要。

如果您的意思是像 JavaScript 的 encodeURIComponent 这样的 URLEncode,那么是的,顺序确实很重要。编码与号 (&) 的小示例

网址 + html: %26amp%3B

html + 网址:%26

于 2013-01-24T18:33:24.353 回答
2

如果原始字符串包含 HTMLEncode 将编码的任何内容,则顺序无关紧要。以字符串“&”为例:

HTMLEncode("&") -> &
URLEncode("&") -> %26
URLEncode(HTMLEncode("&")) -> %26amp%3B
HTMLEncode(URLEncode("&")) -> %26

我建议对需要编码的 URL 的各个部分进行 URLEncoding,然后在设置属性值之前对整个 URL 进行 HTMLEncoding。这应该产生一个适合 HTML 的值。

于 2013-01-24T18:26:03.050 回答