当前位置: 首页 > 面试题库 >

我是否要对&符号进行编码[?]()

顾烨磊
2023-03-14
问题内容

[

我正在编写自动生成HTML的代码,并且希望它对事物进行正确编码。

假设我正在生成指向以下URL的链接:

http://www.google.com/search?rls=en&q=stack+overflow

我假设所有属性值都应进行HTML编码。(如果我写错了,请纠正我。)因此,这意味着如果将上述URL放入锚标记中,则应将&编码为&,如下所示:

<a href="http://www.google.com/search?rls=en&amp;q=stack+overflow">

那是对的吗?

]()


问题答案:

[

是的。HTML实体在HTML属性中进行了解析,并且流浪&会造成歧义。这就是为什么您应该始终编写&amp;而不是仅&所有
HTML属性内部编写的原因。

就是说,只 需要&引号进行编码。如果属性中有特殊字符,则无需编码即可满足HTML解析器的要求。 __é

]()

过去,URL需要使用非ASCII字符(例如)进行特殊处理é。您必须使用百分号转义编码,在这种情况下,它会给出%C3%A9,因为它们是由RFC
1738
定义的。但是,RFC 1738已被RFC
3986
(URI,统一资源标识符)和RFC
3987(IRI,国际化资源标识符)取代,WhatWG基于其工作来定义浏览器在看到具有非ASCII的URL时应如何表现。自HTML5以来的字符。因此,现在可以安全地在URL中包含非ASCII字符,无论是否经过百分比编码。



 类似资料:
  • 在cshtml文件中,我将字符串分配给属性。例如: 自从@模特。值字符串可以包含任何Unicode字符,显然该字符串必须经过编码。Razor会自动编码这个值吗?我猜它不会或不能,因为我可以很容易地把一个@Html。Raw在它之后立即把整个事情分解成两个标记。 我想我需要做的是: 对吗? 同样,如果我在脚本的JavaScript字符串中嵌入字符串值,我应该使用:

  • 在我发现的每一个使用动态规划的1/0背包问题的例子中,项目有权重(成本)和利润,它从来没有明确地说要对项目列表进行排序,但在所有例子中,它们都是通过增加权重和利润来排序的(在例子中,权重越高,利润越高)。所以我的问题是当从项数组/列表中添加矩阵中的项时,我可以按照任何顺序添加它们,还是添加权重或利润最小的那个?因为从多个例子中,我发现我不确定这是否只是一个巧合,或者你真的需要每次把最小的权重/利润

  • 问题内容: 我有一个相当大的python 2.6应用程序,上面散布着许多打印语句。我一直在使用unicode字符串,通常效果很好。但是,如果我重定向应用程序的输出(例如“ myapp.py> output.txt”),则有时会出现如下错误: 我猜如果有人将LOCALE设置为ASCII也会出现相同的问题。现在,我完全理解此错误的原因。我的Unicode字符串中有些字符无法用ASCII编码。很公平。但

  • 问题内容: 我遇到了以下SYBASE SQL: 该SQL的结果是 这看起来像是将HAVING条件应用于行而不是组。有人可以帮我指出描述这种情况的地方是Sybase 15.5文档吗?我所看到的只是“在团队中运作”。我在文档中看到的最接近的是: hading子句可以包括不在选择列表中且不在group by子句中的列或表达式。 (从这里引用)。 但是,他们没有完全解释当您这样做时会发生什么。 问题答案:

  • 使用/directory/company/dunkin%26donuts/进行测试 有些制造商在他们的名字中有一个与符号。所以我想我可以用替换与号。但是,当我调试代码并悬停在上时,它会显示,会显示'dunkin' 如果我使用($)而不是与符号,那么悬停在上会给我,会给我'dunkin$donuts' 我不明白这里的不同行为。为什么在实际请求特定键之前,与符号的URL编码值会被解码,而另一个URL编

  • 问题内容: 是否需要进行显式的if(log.isDebugEnabled()){…}检查? 我的意思是,我已经看到一些帖子提到log.debug(“something”)进行隐式调用,以查看调试模式日志记录是否已启用,然后再进行日志记录。我是否缺少某些东西,或者在使用此步骤之前有中间步骤要执行? 谢谢! 与 编辑:在上面写过:http : //java.sg/whether-to-do-a-isd