相关疑难解决方法(0)

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

在JavaScript中:

encodeURIComponent("©?") == "%C2%A9%E2%88%9A"
Run Code Online (Sandbox Code Playgroud)

是否有C#应用程序的等价物?对于我使用的转义HTML字符:

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

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

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

返回" %a9%221a"for "©?"而不是"%C2%A9%E2%88%9A".看起来我需要将字符串拆分为字节或其他东西.

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

.net javascript c# windows encoding

126
推荐指数
7
解决办法
9万
查看次数

相当于Javascript的encodeURI?

C#与encodeURIComponent相当,在SO和其他地方都有很好的覆盖,但是呢?encodeURI呢?基本上,我想编码无效的URL字符,而不是保留的字符,如/,:等于是

"http://www.example.com/my cool page"
Run Code Online (Sandbox Code Playgroud)

将被编码为

"http://www.example.com/my%20cool%20page"
Run Code Online (Sandbox Code Playgroud)

有没有东西进入.NET这样做?或者是正则表达式我最好的选择?

.net c# urlencode encodeuricomponent

3
推荐指数
1
解决办法
9813
查看次数