编码一个下划线到%5F
问题描述:
我想使用HttpUtility.HtmlEncode编码下划线到%5f,但编码值不给我十六进制表示。我将如何做到这一点?编码一个下划线到%5F
string encodedValue = HttpUtility.HtmlEncode("First_Name");
我想在encodedValue字符串中的值是“First%5FName”。
有什么我失踪?我也尝试过使用HttpUtility.UrlEncode,但是这并没有给我期望的结果。
我知道这应该是简单的,但我无法绕过它。
答
,如果你只是想%5f
更换_
,你可以只使用myString.Replace("_", "%5f");
+0
这就是我最终做到的。所以我会将此标记为答案。 – TK1 2013-04-29 22:13:04
答
这是一个老问题,但一个字符转换成其HexEscape格式,你应该使用:
myString.Replace("_", Uri.HexEscape("_"));
*做什么*这给你吗? – KingCronus 2013-04-29 16:02:47
您正在考虑'HttpUtility.UrlEncode'。但是这不会做,因为'_'不是HTML或URL中的保留字符。所以大多数标准的实用程序将不会使用它们的编码方法进行编码 – 2013-04-29 16:04:39
这里是DMoses声明的参考http://www.rfc-editor.org/rfc/rfc1738.txt – MUG4N 2013-04-29 16:08:35