簡體   English   中英

我可以在.NET CF上使用什么來替代HttpUtility.UrlEncode

[英]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,它正確地變為:

http://website.com/a/abc%7Bd%7Dd

您可以查看捆綁mono的實現 (可選擇簡化)。 不過,我不知道有多少依賴項需要引入。 它可能是也可能是不可行的。

你可能需要自己動手,甚至更好的作弊。 使用反射器,您將很快發現UrlEncode有許多重載方法,調用只需要字符串參數最終將字符串轉換為字節數組並調用內部方法的版本。

修改:在版權違規的情況下刪除了代碼段...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM