[英]What can I use on .NET CF as a replacement for HttpUtility.UrlEncode
我需要将.NET代码移动到Compact Framework。 该代码使用HttpUtility.UrlEncode对查询参数进行编码,但CF上没有System.Web。 我可以用什么呢?
使用Uri.EscapeDataString 。 它几乎相当,而且可能更好,并且包含在NetCF中。
我使用了Uri.EscapeUriString
因为Uri.EscapeDataString
对完整的字符串进行编码,而不仅仅是参数,例如
http://website.com/a/abc{d}d
使用EscapeDataString,它将转换为:
http%3A%2F%2Fwebsite.com%2Fa%2Fabc%7Bd%7Dd
使用Uri.EscapeUriString,它正确地变为:
您可以查看捆绑mono的实现 (可选择简化)。 不过,我不知道有多少依赖项需要引入。 它可能是也可能是不可行的。
你可能需要自己动手,甚至更好的作弊。 使用反射器,您将很快发现UrlEncode有许多重载方法,调用只需要字符串参数最终将字符串转换为字节数组并调用内部方法的版本。
修改:在版权违规的情况下删除了代码段...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.