C# 将下划线编码为%5F

C# 将下划线编码为%5F,c#,asp.net,C#,Asp.net,我试图使用HttpUtility.HtmlEncode将下划线编码为%5f,但编码的值没有给出十六进制表示形式。我将如何做到这一点 string encodedValue = HttpUtility.HtmlEncode("First_Name"); 我想要在encodedValue字符串中的值是“First%5FName” 我有什么遗漏吗?我也尝试过使用HttpUtility.UrlEncode,但这并没有给我想要的结果 我知道这应该很简单,但我无法回避。如果你只是想用%5f替换\uucod

我试图使用HttpUtility.HtmlEncode将下划线编码为%5f,但编码的值没有给出十六进制表示形式。我将如何做到这一点

string encodedValue = HttpUtility.HtmlEncode("First_Name");
我想要在encodedValue字符串中的值是“First%5FName”

我有什么遗漏吗?我也尝试过使用HttpUtility.UrlEncode,但这并没有给我想要的结果


我知道这应该很简单,但我无法回避。

如果你只是想用
%5f
替换
\uucode>,你可以使用
myString.replace(“\u”,“%5f”)

这是一个旧主题,但要将字符转换为HexEscape格式,您应该使用:

myString.Replace("_", Uri.HexEscape("_"));

这给了您什么?您正在考虑
HttpUtility.UrlEncode
。但这也不行,因为在HTML或URL中,
都不是保留字符。因此,大多数标准实用程序不会使用其编码方法对其进行编码。目前的标准是。列出了未保留的字符,包括下划线。如果你看链接,这很奇怪:它的下划线由%5F表示。这就是我最后这样做的原因。所以我将把这个标记为答案。