编码/解码字符串时出现问题JS<-&燃气轮机;C#

编码/解码字符串时出现问题JS<-&燃气轮机;C#,c#,javascript,encoding,urlencode,C#,Javascript,Encoding,Urlencode,我在C#服务器的JS编码和解码方面有问题。 我使用javascript encode()函数,但是当我有特殊的字符,比如+,C#有httputility.urldecode()->并将其转换为空格字符 沟通JS编码和C#解码的最佳方式是什么 我有 我调试了服务器,得到了“hello++”-它不知道哪个+是哪个(空格还是+) 谢谢大家! Javascriptencode进行html编码。由于+在HTML中有效,因此它对+没有任何影响 但是,您正在通过URL传递此字符串-+在URL上表示编码空间 如

我在C#服务器的JS编码和解码方面有问题。 我使用javascript encode()函数,但是当我有特殊的字符,比如+,C#有httputility.urldecode()->并将其转换为空格字符

沟通JS编码和C#解码的最佳方式是什么

我有

我调试了服务器,得到了“hello++”-它不知道哪个+是哪个(空格还是+)
谢谢大家!

Javascript
encode
进行html编码。由于
+
在HTML中有效,因此它对
+
没有任何影响

但是,您正在通过URL传递此字符串-
+
在URL上表示编码空间

如果希望正确编码
+
以供服务器端使用,则需要使用javascript:

<a href='javascript:foo(encodeURIComponent('hello +'))' />

javascript:

escape(string);
C#:


这种组合对我来说很好。

无需使用javascript进行编码,也无需使用c#进行解码。只需使用“encodeURIComponent(string)”javascript函数,无需对c代码进行任何更改。

仍然无法工作。JS将“+”传递给服务器,但它仍然将+解码为“如何将
+
传递给服务器?”?您可能应该在传入前对
+
进行编码,因为URL+是空格的编码。@oshafran-您如何将其传递给服务器?请编辑您的问题并更新所有详细信息,因为答案可能会被删除,而且人们不会总是阅读其他答案的评论。@oshafran-非常好。既然我知道我们在处理什么,我也更新了我的答案。那么所有其他特殊字符('@~等…)呢?我想知道JS和C#之间的编码/解码关系是什么-也就是说,我如何在JS中编码以及如何在相同的算法中在C#中解码
escape(string);
Microsoft.JScript.GlobalObject.unescape(string);