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

C#是否等效于JavaScript的encodeURIComponent()?

淳于健
2023-03-14
问题内容

在JavaScript中:

encodeURIComponent("©√") == "%C2%A9%E2%88%9A"

C#应用程序是否等效?为了转义HTML字符,我使用了:

txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
    m => @"&#" + ((int)m.Value[0]).ToString() + ";");

但是我不确定如何将匹配项转换为JS使用的正确十六进制格式。例如此代码:

txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
    m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));

返回“ %a9%221a""©√",而不是"%C2%A9%E2%88%9A"它看起来像我需要了分割字符串为字节或东西。

编辑:这是一个Windows应用程序中,唯一可用的项目System.Web有:AspNetHostingPermissionAspNetHostingPermissionAttribute,和AspNetHostingPermissionLevel


问题答案:

Uri.EscapeDataString或者HttpUtility.UrlEncode是转义旨在成为URL一部分的字符串的正确方法。

以字符串为例"Stack Overflow"

  • HttpUtility.UrlEncode("Stack Overflow") -> "Stack+Overflow"

  • Uri.EscapeUriString("Stack Overflow") -> "Stack%20Overflow"

  • Uri.EscapeDataString("Stack + Overflow")->也编码"+" to "%2b"-—>Stack%20%2B%20%20Overflow

当用作URL的实际部分时,只有最后一个是正确的(与查询字符串参数之一的值相反)



 类似资料:
  • 问题内容: 我知道我们可以使用Java中的方法通过指定其位置来获取字符串中的单个字符。C#中有等效的方法吗? 问题答案: 您可以像数组一样索引C#中的字符串,然后在该索引处获取字符。 例: 在Java中,您会说 在C#中,您会说

  • 本文向大家介绍C#是否等效于Java的Thread.setDaemon?,包括了C#是否等效于Java的Thread.setDaemon?的使用技巧和注意事项,需要的朋友参考一下 与Java的Thread.setDaemon等效的C#是前台线程和后台线程的概念。 当前台线程关闭时,后台线程将终止。前台线程继续运行,直到最后一个前台线程终止。 用于后台线程的属性是IsBackground,该属性获取

  • 问题内容: 我正在配置Java客户端,它的工作是建立与服务器的TLS连接。我想使用以下3种密码配置客户端: 在Java支持的密码套件中,我找到了相同的密码,但是开头是SSL,而不是TLS。问题是,如果我用以下方法配置了客户端: 这两个列表是否完全相同,并且服务器将对其进行解释?我担心是否为客户端配置了密码,这意味着与某些不同,并且可能某些服务器不支持。我如何确定? 问题答案: 是的,它们是相同的。

  • 问题内容: 是否有与C ++等效的Java Map keySet()? Java 方法返回“此映射中包含的键的设置视图”。 问题答案: 也许以下可能有用: 使用STL兼容序列(例如std :: vector,std :: deque或std :: list)的 make_key_set 函数的重载可以如下所示:

  • 问题内容: 我知道Java本身没有直接的等效项,但也许是第三方? 真的很方便。当前,我想实现一个迭代器,该迭代器生成树中的所有节点,这大约是带有yield的五行代码。 问题答案: 我知道的两个选项是2007年的Aviad Ben Dov的infomancers- collections库 和2008年的Jim Jimler的YieldAdapter库 (在另一个答案中也提到了)。 两者都允许您使用

  • 问题内容: 我来自c#领域。 在C#中,我可以使用动态类http://msdn.microsoft.com/zh- cn/library/dd264741.aspx 这使我不必使用模板/泛型类,而可以针对certian情况获得类似的感觉。 不幸的是,“动态”和“ java”关键字在动态架构上出现了许多不相关的信息,因此我在互联网搜索中一直不成功。 我在javaFX中涉猎了一点,并且有一个var类型