Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解码查询参数值中包含特殊&或+字符的Url

解码查询参数值中包含特殊&或+字符的Url
EN

Stack Overflow用户
提问于 2013-06-10 12:49:19
回答 2查看 3K关注 0票数 0

我在解码带有参数的Base64编码的URL时遇到过这个困难。

代码语言:javascript
运行
AI代码解释
复制
eg: http://www.example.com/Movements.aspx?fno=hello&vol=Bits & Pieces

我的预期结果应该是: fno = hello vol = Bits & Pieces

代码语言:javascript
运行
AI代码解释
复制
#Encoding:
//JAVASCRIPT                
var base64 = $.base64.encode("&fno=hello&vol=Bits & Pieces");
window.location.replace("Movements.aspx?" + base64);

#Decoding c#
string decodedUrl = System.Text.Encoding.ASCII.GetString(Convert.FromBase64String(Request.Url.Query.Replace("?", ""))); // Replace is used to remove the ? part from the query string. 
string fileno = HttpUtility.ParseQueryString(decodedUrl).Get("fno");
string vol = HttpUtility.ParseQueryString(decodedUrl).Get("vol");

实际结果: fno = hello vol = Bits

我已经搜索了stackoverlow,似乎我需要添加一个自定义算法来解析解码的字符串。但是,由于实际的URL比本例中显示的要复杂得多,我最好向专家请教一个替代解决方案!

Tks阅读!

EN

回答 2

Stack Overflow用户

发布于 2013-06-10 12:53:47

如果URL编码正确,您将拥有:

http://www.example.com/Movements.aspx?fno=hello&vol=Bits+%26+Pieces

%26是&的url编码交易记录

和空格将替换为+

在JS中,使用escape来正确地编码您的url!

编辑

使用encodeURIComponent而不是escape,因为就像Sani Huttunen所说的,不推荐使用‘encodeURIComponent’。抱歉的!

票数 1
EN

Stack Overflow用户

发布于 2013-06-10 13:04:18

您的查询字符串需要正确编码。Base64不是正确的方式。请改用encodeURIComponent。您应该分别对每个值进行编码(尽管示例中的大多数部分都不需要):

代码语言:javascript
运行
AI代码解释
复制
var qs = "&" + encodeURIComponent("fno") + "=" + encodeURIComponent("hello") + "&" + encodeURIComponent("vol") + "=" + encodeURIComponent("Bits & Pieces");
// Result: "&fno=hello&vol=Bits%20%26%20Pieces"

这样你就不需要在C#中进行Base64解码了。

代码语言:javascript
运行
AI代码解释
复制
var qs = HttpUtility.ParseQueryString(Request.Url.Query.Replace("?", ""));
var fileno = qs.Get("fno");
var vol = sq.Get("vol");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17024273

复制
相关文章
iOS中url的特殊字符转换
一般来说我们调用webVIew的时候,只要给webVIew传一个url,在网页里面就可以显示网页信息。但是当我们传的url比较麻烦或者带文字符,带参数的时候我们需要对特殊字符进行转义。我们还可以用遍历,正则等来把特殊字符给替换掉!!
好派笔记
2021/10/29
3.3K0
Oracle中如何插入或更新特殊字符“&”?
Q 题目 Oracle中如何插入或更新特殊字符“&”? A 答案 假设有如下的SQL语句: UPDATE USERINFO SET PAGEURL = 'MYJSP?PAGE=1&PAGESIZE=
AiDBA宝典
2019/09/30
2.9K0
"SyntaxError: Unexpected end of JSON input", uniapp小程序URL传参包涵特殊字符
image.png }
清出于兰
2022/05/11
8690
"SyntaxError: Unexpected end of JSON input", uniapp小程序URL传参包涵特殊字符
url参数存在特殊字符(“ & @)报错怎么替换:URL中的参数编码梳理
网址URL中特殊字符转义编码 字符 - URL编码值 空格 - %20 " - %22 # - %23 % - %25 & - %26 ( - %28 ) - %29 + - %2B ,
陈哈哈
2020/07/06
5.7K0
url参数存在特殊字符(“ & @)报错怎么替换:URL中的参数编码梳理
JavaScript 中的特殊数值有哪些?
JavaScript 中有几个特殊的数值常量,它们具有特殊的含义和行为。以下是 JavaScript 中的一些特殊数值:
王小婷
2023/10/23
3500
iOS:URL 特殊字符 # UTF-8
1.URL 加载过程中,出现汉字乱码 ---- NSString* urlstr = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 2.链接中包含特殊字符,1方法,会导致特殊字符也进行转码,所以用以下方法 ---- self.url = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorD
菜菜不吃蔡
2019/03/06
1.3K0
JS 获取URL中的参数值
本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Sep 11, 2019 at 11:40 am
Alone88
2019/10/22
18.3K0
java 对于表情和特殊字符的转码解码处理
转码然后插入到DB当中 String encodestr=URLEncoder.encode("需要转码的内容", "utf-8") 将encodestr插入数据库中 解码然后显示到页面当中 String decodestr=URLDecoder.decode("需要解码的内容", "utf-8") 在页面展示decodestr
用户4191150
2021/08/12
3.8K1
用javascript替换URL中的参数值
今天遇到一个需要用javascript将url中的某些参数替换的需求,想起了不久前从司徒正美先生的博客中淘到了一个parseUrl函数,正好可以借此实现,代码整理如下: //分析url function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol:
菩提树下的杨过
2018/01/22
3.5K0
Mongo字符串类型的数值查询---$Where查询介绍
​        在Mongo中都知道字符串类型大小比较都是以ASCII进行比较的,所以无法真实比较字符串类型的数值大小
莫问今朝
2018/08/31
2.8K0
Mongo字符串类型的数值查询---$Where查询介绍
Java 技术篇 - ServerSocket接收http的url请求中包含中文的处理方法,URLDecode与URLEncode,url解码与编码
效果图: 正常接收到中文的请求是这个样子的:%E6%AC%A2%E8%BF%8E%E6%9D%A5%E5%88%B0%E5%B0%8F%E8%93%9D%E6%9E%A3%E7%9A%84%E5%8D%9A%E5%AE%A2%EF%BC%81 通过解码方法: String url_new = java.net.URLDecoder.decode(url, "UTF-8"); 解码后恢复为中文: 欢迎来到小蓝枣的博客!
小蓝枣
2021/12/01
1.4K0
Java 技术篇 - ServerSocket接收http的url请求中包含中文的处理方法,URLDecode与URLEncode,url解码与编码
Javascript中的url编码与解码(详解)
摘要 本文主要针对URI编解码的相关问题做了介绍,对url编码中哪些字符需要编码、为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescap
Angel_Kitty
2018/04/17
3.2K0
PbootCMS搜索或筛选条件中带特殊字符被过滤,例如·:~、
打开\core\function\helper.php,搜索vars,在下图中圆圈位置里增加需要允许的符号,这里是全局的搜索关键词匹配(前后台同时生效)。
小唐同学.
2022/02/25
2.7K0
html url编码、url解码
encodeURIComponent()编码的解码函数为 decodeURIComponent(),
全栈程序员站长
2022/07/19
5K0
html url编码、url解码
如何使用Sentry为包含特殊字符的用户组授权
Apache Sentry是由Cloudera贡献给Hadoop开源社区的组件,它提供了细粒度级、基于角色的授权以及多租户的管理模式。Sentry当前可以和Hive/Hcatalog、Apache Solr 、Apache Kafka以及Cloudera Impala等集成。
Fayson
2018/09/29
2.3K0
正则中需要转义的特殊字符
正则表达式中有一些特殊的字符需要转义,收集整理如下: 特殊字符         说明 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 + 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 . 匹配
流柯
2018/08/31
4.3K0
HTML-HTML中的特殊字符
HTML中常用的特殊字符: 本文中的特殊字符持续收集中... HTML源代码 显示结果 描述 < < 小于号或显示标记 > > 大于号或显示标记 & & 可用于显示其他特殊字符 " " 引号 ® ® 已注册 © © 版权 ™ &trade 商标 &ensp 半个空格位 &emsp 一个空格位 不断行的空格位 ´ ´ ´ ´ > > µ µ ® ® & & ° ° ¡ ¡ » » ¦ ¦ ÷ ÷ ¿ ¿ ¬ ¬ § § • • ½ ½ « « ¶ ¶ &nml; &nml;
白衣少年
2023/01/08
6.5K0
点击加载更多

相似问题

包含特殊字符的url请求的json解码

33

URL解码特殊字符-

11

包含特殊字符和IE的Url参数值

10

Swift中具有特殊字符的URL解码

26

Url包含特殊字符

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档