当前位置: 首页 > news >正文

URL字符解码

将网页编码文字还原:

例如:https%3A%2F%2Fwww.example.com%2F%3Fparam%3Dvalue%26key%3D%E4%B8%AD%E6%96%87

解码:

https: // www.example.com/?param=value&key=中文

代码:

char hexValue(char ch)
{if (isdigit(ch)){return ch - '0';}return ::toupper(ch) - 'A' + 10;
}std::string urlDecode(std::string& input)
{std::string decoded;size_t inputLen = input.size();for (size_t i = 0; i < inputLen; i++){char c = input[i];if (c == '+'){decoded.push_back(' ');}else if (c == '%' && i + 2 < inputLen){char hex1 = input[++i];char hex2 = input[++i];if (isxdigit(hex1) && isxdigit(hex2)){char decodedChar = (hexValue(hex1) << 4) | hexValue(hex2);decoded.push_back(decodedChar);}else{decoded.push_back(c);decoded.push_back(hex1);decoded.push_back(hex2);}}else{decoded.push_back(c);}}return decoded;
}

http://www.lryc.cn/news/172991.html

相关文章:

  • uni-app进行表单效验
  • IO流内容总结
  • MySQL的进阶篇1-MySQL的存储引擎简介
  • 九芯电子丨语音智能风扇,助您畅享智慧生活
  • 2101. 引爆最多的炸弹;752. 打开转盘锁;1234. 替换子串得到平衡字符串
  • ​校园学习《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著
  • UOS服务器操作系统搭建离线yum仓库
  • C# 实现数独游戏
  • vscode + conda+ ffmpeg + numpy 的安装方式
  • Python Union联合类型注解
  • 提高接口自动化测试效率:使用 JMESPath 实现断言和数据提取!
  • 【Linux操作系统教程】用户管理与权限管理你真的懂了吗(三)
  • 华为全联接大会2023 | 尚宇亮:携手启动O3社区发布
  • MySQL数据库查缺补漏——基础篇
  • ESP8266 WiFi物联网智能插座—电能计量
  • “智慧”北京,人工智能引领“新风尚”
  • 狮子鱼社区团购小程序v18.1独立全开源版+小程序前端
  • 深拷贝和浅拷贝的区别
  • 利用优化算法提高爬虫任务调度效率
  • Swiper的使用流程
  • 如何快速实现一个可视化看板?
  • 基于PyTorch搭建FasterRCNN实现目标检测
  • 线性表应用(非递减合并、分解链表、删除线性表)
  • 【C++面向对象侯捷下】1.导读
  • Ubuntu22.04 vnc远程黑屏
  • 【1区TOP】Elsevier旗下CCF推荐,仅3个月左右录用!
  • CentOS下安装Python3
  • 微信小程序底部安全区域高度获取
  • 虚拟机部署linux网络连接配置
  • 2591. 将钱分给最多的儿童(Java)