encodeQueryComponent 静态方法
根据 HTML 4.01 规则对字符串 component
进行编码,作为查询字符串组件的发布。
首先使用 encoding
将组件编码为字节。默认情况下,使用 utf8 编码,保留所有不需要编码的字符。
然后对生成的字节进行“百分编码”。这把空格(U+0020)转换为加号('+'),并将所有不是 ASCII 十进制数字、字母或 '-._~' 之一的字节写入百分号 '%' 后跟该字节的两位十六进制表示。
注意,需要百分编码的字符集是 HTML 4.01 所需集合的超集,因为它引用了 RFC 1738 中的保留字符。
在手动编码查询组件时,请在构建查询字符串之前单独对每个部分进行编码。
为了避免显式编码查询,当构造 Uri 时,请使用 queryParameters 可选命名参数。
有关更多详细信息,请参阅 https://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2。
实现
static String encodeQueryComponent(String component,
{Encoding encoding = utf8}) {
return _Uri._uriEncode(_Uri._unreservedTable, component, encoding, true);
}