gpt4 book ai didi

asp.net - 为什么 HttpUtility.UrlEncode(HttpUtility.UrlDecode ("%20")) 返回 + 而不是 %20?

转载 作者:行者123 更新时间:2023-12-02 04:51:25 25 4
gpt4 key购买 nike

我在下载文件时遇到问题,下载时将所有空格替换为下划线。

基本上我在这里遇到了问题:

Response.AddHeader("Content-Disposition", 
"attachment; filename=" + someFileName);

问题是,如果 someFileName 中包含空格,例如“check this out.txt”,则系统会提示用户下载“check_this_out.txt”。

我认为最好的选择是对文件名进行 UrlEncode,所以我尝试了

HttpUtility.UrlEncode(someFileName);

但是它用加号替换了空格,这让我很困惑。所以我就尝试了

HttpUtility.UrlEncode(HttpUtility.UrlDecode("%20"))

解码工作正常,并给了我一个空格,但编码占用了空格,然后再次给了我加号。

我在这里缺少什么,这是正确的吗?如果是这样,我应该如何正确地将空格编码为 %20,这就是我所需要的。

最佳答案

基本上 %20 和 + 都是编码空格的有效方法。显然,UrlEncode 方法必须选择其中一个选项...如果它选择其他方式,其他人会问为什么 UrlEncode(UrlDecode("+")) 返回“%20”...

您始终可以对其进行编码,然后只需将“+”替换为“%20”即可。我认为这会起作用...

关于asp.net - 为什么 HttpUtility.UrlEncode(HttpUtility.UrlDecode ("%20")) 返回 + 而不是 %20?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1561533/

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