【发布时间】:2021-08-04 17:00:47
【问题描述】:
我对 dart/flutter URI 实现有疑问。 % 自动替换为 %25。
我想访问以下网址:
http://some.domain/json.php?key=%DF [%DF=ß in ASCII/latin1]
代码:
final uri = Uri.http('some.domain', 'json.php', {'key': 'ß'});
导致
http://some.domain/json.php?key=%C3%9F [UTF-8 中的ß]
尝试时
final uri = Uri.http('some.domain', 'json.php', {'key': '%DF'});
结果:
http://some.domain/json.php?key=%25DF [% 自动转义到 %25]
尝试显式编码时:
final uri = Uri.http('some.domain', 'json.php',
{'key': Uri.encodeQueryComponent('ß', encoding: latin1)});
结果:
http://some.domain/json.php?key=%25DF [% 自动转义为 %25]
如何禁用 % 到 %25 的自动编码?!
有什么想法吗?
【问题讨论】: