0

我必须在 c# 中编码字符串并使用 javascript unescape 函数对其进行解码。

javascript unescape 是唯一的选择,因为我将带有 get 请求的字符串发送到一些使用 unescape 对其进行解码的 api。

我几乎尝试了一切

server.urlencode
WebUtility.HtmlEncode

还有很多其他编码!我什至尝试Uri.EscapeDataString使用 jscript

没有什么不像“转义”功能那样编码的

知道如何使它工作吗?

编辑:

这是我的代码

string apiGetRequest = String.Format("http://212.00.00.00/Klita?name={0}&city={1}&CREATEBY=test ", Uri.EscapeDataString(name), Uri.EscapeDataString(city));
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(apiGetRequest);
req.GetResponse();
4

1 回答 1

1

你能举一个你想要编码的字符串和编码结果的例子吗?

URLencoding 是您需要的正确编码类型。确保不要在代码中的某处对字符串进行双重编码。

您可能需要使用decodeURIComponent而不是unescape,因为unescape支持 UTF-8,因此可能会在解码后导致字符串损坏。

有关详细信息,请参阅http://xkr.us/articles/javascript/encode-compare/

编辑:

我对 asp 了解不多,但看起来你不是用浏览器而是用你的 ASP 服务器端应用程序访问 url。好吧,您的服务器不运行任何 JS 代码。您将只检索 HTML 标记,也许还有一些 JS 代码作为一个大字符串。此代码将在浏览器中解析和执行,而不是在 ASP 中。

于 2012-09-04T09:26:30.907 回答