gpt4 book ai didi

c# - 编码\解码字符串问题 JS <-> C#

转载 作者:行者123 更新时间:2023-11-29 10:54:10 24 4
gpt4 key购买 nike

我在 JS 编码然后在 C# 服务器中解码时遇到问题。我使用 javascript encode() 函数 - 但是当我有像 + 这样的特殊字符时,C# 有 httputility.urldecode() -> 并将它转换为 SPACE 字符。

交流 JS 编码和 C# 解码的最佳方式是什么?

我有<a href='javascript:foo(escape('hello +'))' />

function foo(data)
{
$.ajax({ url: "http:/....." + data, dataType: 'html', context: document.body
...
...
}

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

最佳答案

Javascript encode 进行 html 编码。由于 + 在 HTML 中有效,它对 + 没有任何作用。

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

您需要使用javascript encodeURIComponent如果您希望对 + 进行正确编码以便在服务器端使用:

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

你要明白HTML编码和URL编码是different things .

关于c# - 编码\解码字符串问题 JS <-> C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3914572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com