gpt4 book ai didi

c# - URL 在 C# 中编码所有非字母数字

转载 作者:太空狗 更新时间:2023-10-29 20:37:53 24 4
gpt4 key购买 nike

我需要对电子邮件地址进行完整的 URL 编码。

HttpUtility.UrlEncode 似乎忽略了某些字符,例如 !和.

我需要在 url 中传递一个电子邮件地址,格式如下:

/Users/me@example.com/Comments

因为我的 WebMethod uri 模板如下所示:

[WebGet(UriTemplate = "Users/{emailAddress}/Comments")]

句点中断了 WCF,不会将电子邮件地址传递到我的 REST web 服务方法。删除句点可以很好地传递值。我希望有一种方法可以对所有非字母数字字符进行编码,因为使用此服务的所有内容都需要这样做。

编辑

我考虑过使用:

Convert.ToBase64String(Encoding.ASCII.GetBytes("something+me@example.com"))

大多数其他语言是否有将字符串转换为 base64 的简单方法?我主要担心的是,我们使用此服务的客户将需要使用 Java、PHP、Ruby 等对电子邮件地址进行编码。

最佳答案

这是您可以用来完成编码的潜在正则表达式。

Regex.Replace(s, @"[^\w]", m => "%"+ ((int)m.Value[0]).ToString("X2"));

我不确定是否已定义现有框架方法来严格编码您可以指向客户的所有非字母数字字符。

关于c# - URL 在 C# 中编码所有非字母数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3072409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com