You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中创建URL时如何保留方括号不转义?

如何创建URL对象时保留方括号不编码

当使用new URL()构造函数时,方括号[和]会被自动编码为%5B和%5D,这是因为它们不属于URL路径段的标准允许字符(遵循RFC 3986规范)。如果需要强制保留方括号,可以通过以下两种方式实现:

方法1:创建URL后手动替换编码字符

先正常创建URL对象,再将路径中已编码的方括号替换回原字符:

let urlString = "https://example.com/[path]/file.txt";
const url = new URL(urlString);
// 全局替换路径中的编码方括号
url.pathname = url.pathname.replace(/%5B/g, '[').replace(/%5D/g, ']');
console.log(url.href); // 输出:https://example.com/[path]/file.txt

方法2:手动构建URL的各部分

直接创建基础URL,再手动设置包含方括号的路径,避免构造函数自动编码:

const url = new URL("https://example.com/");
// 直接赋值带方括号的路径
url.pathname = "[path]/file.txt";
console.log(url.href); // 输出:https://example.com/[path]/file.txt

⚠️ 注意:这种做法不符合URL标准规范,部分服务器或客户端可能无法正确解析未编码的方括号。仅当你明确目标服务支持这种非标准格式时,才建议使用该方案。

内容的提问来源于stack exchange,提问作者instback

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 22:09:23