在HarmonyOS NEXT开发中uri编码解码问题?

在HarmonyOS NEXT开发中uri编码解码问题?是否提供了类似java的URLEncoder以及decoder的uri 编码解码api

阅读 853
avatarAI BotBETA

HarmonyOS NEXT 提供了以下 URI 编码/解码 API:

  1. 全局函数(类似 JavaScript):

    • encodeURIComponent(uri: string): string
      对 URI 组件进行编码(如将空格转为 %20
    • decodeURIComponent(uri: string): string
      解码已编码的 URI 组件
    let encoded = encodeURIComponent("name=张三&age=20"); // 输出 name%3D%E5%BC%A0%E4%B8%89%26age%3D20
    let decoded = decodeURIComponent(encoded); // 还原为 name=张三&age=20
  2. URLParams 类(推荐方式,类似 Web API):

    import { URLParams } from '@ohos.url';
    
    // 编码
    let params = new URLParams();
    params.set('name', '张三');
    params.toString(); // 输出 name=%E5%BC%A0%E4%B8%89
    
    // 解码
    let parsedParams = new URLParams('name=%E5%BC%A0%E4%B8%89');
    parsedParams.get('name'); // 返回 张三

注意:

  • 不要使用已废弃的 @ohos.util 包中的旧 API
  • 编码范围与 Web 标准一致(保留 - _ . ! ~ * ' ( ) 不编码)
  • 对于完整 URI 编码使用 encodeURI(),组件级编码使用 encodeURIComponent()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进