encodeComponent 静态方法

String encodeComponent(
  1. String component
)

使用百分编码对字符串 component 进行编码,使其可以作为 URI 组件进行字面使用。

除了大写和小写字母、数字以及字符 -_.!~*'() 之外的所有字符都将进行百分编码。这是 RFC 2396 中指定的字符集,也是 ECMA-262 第 5.1 版中 encodeUriComponent 所指定的字符集。

当手动编码路径段或查询组件时,请记住在构建路径或查询字符串之前分别对每个部分进行编码。

对于查询部分的编码,请考虑使用 encodeQueryComponent

为了避免显式编码的需要,在构建 Uri 时使用 pathSegmentsqueryParameters 可选命名参数。

示例

const request = 'http://example.com/search=Dart';
final encoded = Uri.encodeComponent(request);
print(encoded); // http%3A%2F%2Fexample.com%2Fsearch%3DDart

实现

static String encodeComponent(String component) {
  return _Uri._uriEncode(_Uri._unreserved2396Table, component, utf8, false);
}