首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将URL解码为正确的值

无法将URL解码为正确的值
EN

Stack Overflow用户
提问于 2019-08-20 20:44:25
回答 2查看 160关注 0票数 0

以下代码:

代码语言:javascript
运行
复制
context.Response.Write(
    context.Request.Url.AbsolutePath
    + "\n" + Uri.UnescapeDataString(context.Request.Url.AbsolutePath)
    + "\n" + context.Server.UrlDecode(context.Request.Url.AbsolutePath)
    + "\n" + HttpUtility.UrlDecode(context.Request.Url.AbsolutePath)
);

输出:

代码语言:javascript
运行
复制
/uploads/324/d7925fa2-2d3a-4cae-ba3d-e22f48cbe55c/c/1415663111_250/regenera%20hp%20-%20c%C3%B3pia%20(2).png
/uploads/324/d7925fa2-2d3a-4cae-ba3d-e22f48cbe55c/c/1415663111_250/regenera hp - cópia (2).png
/uploads/324/d7925fa2-2d3a-4cae-ba3d-e22f48cbe55c/c/1415663111_250/regenera hp - cópia (2).png
/uploads/324/d7925fa2-2d3a-4cae-ba3d-e22f48cbe55c/c/1415663111_250/regenera hp - cópia (2).png

使用像this one这样的工具,输入/uploads/324/d7925fa2-2d3a-4cae-ba3d-e22f48cbe55c/c/1415663111_250/regenera%20hp%20-%20c%C3%B3pia%20(2).png并按下decode,结果是:

/uploads/324/d7925fa2-2d3a-4cae-ba3d-e22f48cbe55c/c/1415663111_250/regenera hp - cópia (2).png

为什么我的URL解码尝试没有得到正确的值?

EN

回答 2

Stack Overflow用户

发布于 2019-08-20 21:09:29

HttpUtility.Decode有一个重载,允许您指定编码;您需要使用该重载匹配URL最初编码的编码。

在您的情况下,看起来您需要UTF8:-

var decoded = HttpUtility.UrlDecode(url, Encoding.UTF8);

票数 1
EN

Stack Overflow用户

发布于 2019-08-20 20:51:53

试试这个:

代码语言:javascript
运行
复制
System.Net.WebUtility.UrlDecode(context.Request.Url.AbsolutePath);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57573986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档