dart中的urlencoding

Sud*_*dar 29 urlencode dart

是否有在Dart中进行urlencoding的功能?我正在使用XMLHttpRequest对象进行AJAX调用,我需要将url编码为url.

我在dartlang.org上搜索过,但没有找到任何结果.

Lar*_*ann 22

更新:现在支持Dart Uri类编码/解码URI

Dart的URI代码放在一个名为dart:uri的独立库中(因此它可以在dart:html和之间共享dart:io).我看起来它目前不包含一个urlencode函数,所以你现在最好的选择可能是使用这个 JavaScript的Dart实现encodeUriComponent.

  • dart:uri 已被删除,它现在是核心的一部分。https://groups.google.com/a/dartlang.org/forum/#!topic/misc/pHyoawHOhU0 (2认同)
  • 也许值得在答案中举一个例子?就像`Uri.encodeComponent(url);` (2认同)

小智 19

var uri = 'http://example.org/api?foo=some message';
var encoded = Uri.encodeFull(uri);
assert(encoded == 'http://example.org/api?foo=some%20message');

var decoded = Uri.decodeFull(encoded);
assert(uri == decoded);
Run Code Online (Sandbox Code Playgroud)

http://www.dartlang.org/docs/dart-up-and-running/contents/ch03.html#ch03-uri


Set*_*add 15

我写了这个小函数来将Map转换为URL编码的字符串,这可能就是你要找的东西.

String encodeMap(Map data) {
  return data.keys.map((key) => "${Uri.encodeComponent(key)}=${Uri.encodeComponent(data[key])}").join("&");
}
Run Code Online (Sandbox Code Playgroud)


Tha*_*thu 5

Uri.encodeComponent(url); // To encode url
Uri.decodeComponent(encodedUrl); // To decode url
Run Code Online (Sandbox Code Playgroud)