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

在NextJS中如何将IRI编码转回实际URL?

在Next.js中转回编码后的IRI为原始URL

可以在Next.js中将编码后的IRI转回包含原生非ASCII字符的原始URL,直接使用JavaScript内置的decodeURI()或decodeURIComponent()方法即可,无需额外依赖。

具体实现示例

针对你提供的编码IRI:

const encodedIRI = 'http://localhost:3000/%E0%A4%AF%E0%A4%B9-%E0%A4%A6%E0%A5%81%E0%A4%95%E0%A4%BE%E0%A4%A8-%E0%A4%B9%E0%A5%88';
// 解码完整URL
const originalFullURL = decodeURI(encodedIRI);
console.log(originalFullURL); // 输出: http://localhost:3000/यह-दुकान-है

// 若仅需解码路径部分
const encodedPath = '/%E0%A4%AF%E0%A4%B9-%E0%A4%A6%E0%A5%81%E0%A4%95%E0%A4%BE%E0%A4%A8-%E0%A4%B9%E0%A5%88';
const originalPath = decodeURIComponent(encodedPath);
console.log(originalPath); // 输出: /यह-दुकान-है

方法说明

  • decodeURI():适用于解码完整URL,不会破坏URL中的协议、域名等结构字符(如://、/),仅解码路径中的编码字符。
  • decodeURIComponent():适用于单独解码URL的路径或查询参数部分,会解码所有编码后的字符,注意不要直接用于完整URL,否则可能导致协议、域名部分的特殊字符被错误解码。

Next.js场景适配

不管是客户端组件、服务器组件还是API路由中,都可以直接使用这两个方法,因为它们是JavaScript的标准内置函数,Node.js和浏览器环境均支持。

内容的提问来源于stack exchange,提问作者Rajendra A Verma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:45:59