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

记录一下 js encodeURI和encodeURIComponent URL转码问题

  • escape:由于它已经被废弃,不建议在任何新的代码中使用。
  • encodeURI:当你需要对整个URI进行编码时使用,例如在将整个URL作为参数传递时。
  • encodeURIComponent:当你需要编码URI中的某一部分,尤其是查询字符串参数时使用。

记录一下js 和php 之间的 URL转码问题

直接结论

escape 不建议使用,新的js都不支持了,以前的转码功能
var encodedString = escape("Hello World!");
var decodedString = unescape(encodedString);
console.log(decodedString); // 输出: Hello World!
encodeURI 这个会保留http:// 这些,我感觉总出问题就是他的原因(这个时候跳转页面时候用)
var encodedURI = encodeURI("http://www.example.com/a b c.html?name=张三&age=20");
var decodedURI = decodeURI(encodedURI);
console.log(decodedURI); // 输出: http://www.example.com/a b c.html?name=张三&age=20
encodeURIComponent 推荐这个,最彻底,携带参数最好(这个时候当参数用)
var encodedURIComponent = encodeURIComponent("name=张三&age=20");
var decodedURIComponent = decodeURIComponent(encodedURIComponent);
console.log(decodedURIComponent); // 输出: name=张三&age=20

还有会把数据传递到后端php 解析 用 rawurldecode 函数

<?php
// 假设这是由encodeURIComponent()编码的字符串
$encodedString = "name=%E5%BC%A0%E4%B8%89&age=20";
// 使用rawurldecode()来解码
$decodedString = rawurldecode($encodedString);
// 输出解码后的字符串
echo $decodedString; // 输出: name=张三&age=20
?>

如果用php反向 对比 用 http_build_query函数,注意转换之后的对比(好像对汉字不是特别友好)

mixed http_build_query ( mixed $data [, string$numeric_prefix [, string $arg_separator [, int$enc_type = PHP_QUERY_RFC1738 ]]] )
  • $data: 你想要转换成查询字符串的数组或对象。
  • $numeric_prefix: 如果数组中有数字键,这个参数将作为数字键的前缀。
  • $arg_separator: 查询字符串中的参数分隔符,默认是&。
  • $enc_type: 指定如何编码URL。默认是PHP_QUERY_RFC1738,这会使用urlencode()来编码。如果设置为PHP_QUERY_RFC3986,则会使用rawurlencode()来编码。

相关文章:

记录一下 js encodeURI和encodeURIComponent URL转码问题

escape&#xff1a;由于它已经被废弃&#xff0c;不建议在任何新的代码中使用。encodeURI&#xff1a;当你需要对整个URI进行编码时使用&#xff0c;例如在将整个URL作为参数传递时。encodeURIComponent&#xff1a;当你需要编码URI中的某一部分&#xff0c;尤其是查询字符串参…...

【C语言】二维前缀和/求子矩阵之和

相信你是最棒哒&#xff01;&#xff01;&#xff01; 目录 一、题目描述 正确代码 二、题目描述 题目代码 总结 一、题目描述 输入一个 &#x1d45b; 行 &#x1d45a; 列的整数矩阵&#xff0c;再输入 &#x1d45e;个询问&#xff0c;每个询问包含四个整数 &#x1d465;1…...

SRS 服务器入门:实时流媒体传输的理想选择

在当今视频流媒体需求爆炸式增长的时代&#xff0c;如何选择一款高效、稳定且功能强大的流媒体服务器成为了许多开发者和企业关注的焦点。而 SRS&#xff08;Simple Realtime Server&#xff09;作为一款开源的流媒体服务器&#xff0c;以其卓越的性能和灵活的功能&#xff0c;…...

【ETCD】【源码阅读】configurePeerListeners() 函数解析

configurePeerListeners 是 ETCD 的一个核心函数&#xff0c;用于为集群中节点之间的通信配置监听器&#xff08;Peer Listener&#xff09;。这些监听器主要负责 Raft 协议的消息传递、日志复制等功能。函数返回一个包含所有监听器的列表。 函数签名 func configurePeerList…...

1_ssrf总结

content 什么是ssrf?简介原理 危害利用内网访问端口扫描fsockopenurlbypass127.0.0.0被禁止绕过302跳转DNS重绑定绕过 file协议dict协议gopher协议主从复制打redis打mysql打fastcgi协议打未授权redis Defence 什么是ssrf? 简介 SSRF&#xff08;Server-Side Request Forger…...

深入解析 Redis

1. 为什么 Redis 性能至关重要&#xff1f; 在现代分布式应用中&#xff0c;Redis 被广泛作为缓存系统、消息队列、实时数据存储和会话管理等多种场景的解决方案。作为一个高性能的内存数据库&#xff0c;Redis 的设计理念是提供低延迟和高吞吐量的操作。然而&#xff0c;当 R…...

Visual Studio 2022发布UWP应用证书绑定失败

最近发布UWP应用时&#xff0c;卡在了关联产品这步&#xff0c;一直提示网络链接问题&#xff0c;获取不到产品信息。创建新项目也是这样&#xff0c;猜测低版本的VS不支持发布UWP应用了&#xff0c;便升级到了VS2022。VS2022创建新UWP工程确实可以关联发布应用&#xff0c;并成…...

K8S对接ceph的RBD块存储

1 PG数量限制问题 1.1 原因分析 1.还是老样子&#xff0c;先创建存储池&#xff0c;在初始化为rbd。 [rootceph141~]# ceph osd pool create wenzhiyong-k8s 128 128 Error ERANGE: pg_num 128 size 3 for this pool would result in 295 cumulative PGs per OSD (2067 tot…...

ragflow连不上ollama的解决方案

由于前期wsl默认装在C盘&#xff0c;后期部署好RagFlow后C盘爆红&#xff0c;在连接ollama的时候一直在转圈圈&#xff0c;问其他人没有遇到这种情况&#xff0c;猜测是因为内存不足无法加载模型导致&#xff0c;今天重新在E盘安装wsl 使用wsl装Ubuntu Win11 wsl-安装教程 如…...

ACL与Prefix List(前缀列表)

匹配工具一般搭配其他操作&#xff0c;可实现NAT&#xff0c;路由策略&#xff0c;策略路由&#xff0c;MQC&#xff0c;流量过滤等操作 通配符掩码 我们都知道子网掩码的1是精确匹配&#xff0c;1是大致匹配&#xff0c;1必须连续 我们也知道反掩码的1是大致匹配&#xff0…...

OpenSSH和OpenSSL升级

需求 centos7.9升级SSH和SSL OpenSSH升级为openssh9.8 OpenSSL升级为openssl-3.4.0 下载openssh最新版本与openssl对应版本 openssh最新版本下载地址 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gzOpenSSL下载地址 这里下载的是3.4.0 wg…...

数据库继续学习

数据库中的外键约束的作用是什么&#xff1f; 外键约束用于在多表操作中保证数据的一致性、完整性和正确性。它确保引用的数据在主表中存在&#xff0c;从而避免孤立记录的出现。 物理外键与逻辑外键的选择&#xff1f; 推荐使用逻辑外键。逻辑外键是指在应用程序层面上实现外键…...

车载以太网-UDPNM

文章目录 UDPNM定义在车载以太网中的作用网络节点状态监测唤醒和睡眠管理网络拓扑发现工作流程消息发送消息接收与处理与其他车载网络协议的比较和协作UDPNM的工作原理是什么?1.消息构建与发送原理消息格式构建发送机制2.消息接收与响应原理接收过程响应机制3.状态管理与定时器…...

网页核心页面设计(第8章)

一、伪元素 伪元素是 CSS 中的一种选择器&#xff0c;用于选择某些特定的元素或元素的一部分&#xff0c;而这些元素本身并不存在于文档的结构中。伪元素使得网页设计师可以更灵活地控制样式&#xff0c;从而可以为元素的内容、框架或文本提供额外的样式&#xff0c;增强网页的…...

在PowerShell下运行curl命令出现错误:Invoke-WebRequest : 无法处理参数,因为参数名称“u”具有二义性

今天在Windows 11下测试Nanamq的HTTP API&#xff0c;按照其文档输入&#xff1a; curl -i --basic -u admin:public -X GET "http://localhost:8081/api/v4/subscriptions" 结果出现二义性错误&#xff1a; 而且输入curl --help命令想看看参数说明的时候&#xff…...

医疗花费预测——协方差矩阵和热力图

引言 在医疗数据分析中&#xff0c;预测个人的医疗花费是一个重要的课题。这不仅有助于个人健康管理&#xff0c;也为医疗资源的合理分配提供了数据支持。本篇博客&#xff0c;我们将探讨如何利用协方差矩阵和热力图来分析和预测个人的医疗花费。我们将以DataFountain提供的数…...

react antd tabs router 基础管理后台模版

在构建 React 后台管理系统时&#xff0c;使用标签页的方式展示路由是一种高效且用户友好的设计模式。这种实现方式通常允许用户在多个页面之间快速切换&#xff0c;并保留页面的状态&#xff0c;类似于浏览器的多标签页功能。 需求分析 1.动态标签页&#xff1a;根据用户的导…...

【数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 相关知识 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;编写一个程序实现环形队列的基本运算。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 初始化队列、销毁队列、判断队列是否为空、进队列…...

【数据结构——栈与队列】链栈的基本运算(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 相关知识 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;编写一个程序实现链栈的基本运算。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 初始化栈、销毁栈、判断栈是否为空、进栈、出栈、取栈…...

GIT CLONE ERROR: remote: [session-ec426a86] Access denied

报错信息&#xff1a; remote: [session-ec426a86] Access denied 错误原因&#xff1a; 1.更换了不同的GIT仓或者账号 2.之前设置了默认账号密码信息 3. git init 只初始化了GIT项目&#xff0c;并没有清空原有的账号密码配置 处理方法&#xff1a; win11需要到个人文件…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

GeoServer发布PostgreSQL图层后WFS查询无主键字段

在使用 GeoServer&#xff08;版本 2.22.2&#xff09; 发布 PostgreSQL&#xff08;PostGIS&#xff09;中的表为地图服务时&#xff0c;常常会遇到一个小问题&#xff1a; WFS 查询中&#xff0c;主键字段&#xff08;如 id&#xff09;莫名其妙地消失了&#xff01; 即使你在…...