web-dev-qa-db-ja.com

Dartのurlencoding

Dartでurlencodingを実行する関数はありますか? XMLHttpRequestオブジェクトを使用してAJAX呼び出しを行っており、URLをURLエンコードする必要があります。

Dartlang.orgを検索しましたが、結果は出ませんでした。

34
Sudar

UpdateDart Uriクラス でエンコード/デコードURIがサポートされるようになりました

DartのURIコードは Dart:uri と呼ばれる別のライブラリに配置されているため、両方のDart:htmlおよびDart:io)。現在urlencode関数が含まれていないようですので、現時点での最善の代替策は、おそらく this JavaScriptのencodeUriComponentのDart実装を使用することです。

25
Lars Tackmann
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);

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

30
gines capote

この小さな関数を作成して、マップをURLエンコードされた文字列に変換します。

String encodeMap(Map data) {
  return data.keys.map((key) => "${Uri.encodeComponent(key)}=${Uri.encodeComponent(data[key])}").join("&");
}
18
Seth Ladd
Uri.encodeComponent(url); // To encode url
Uri.decodeComponent(encodedUrl); // To decode url
10
Thanthu

まだあるとは思いません。 http://unpythonic.blogspot.com/2011/11/oauth20-and-jsonp-with-dartin-web.html とencodeComponentメソッドを確認してください。

一部の文字が不足していることに注意してください。拡張する必要があります。 Dartには、これが組み込まれていて簡単にアクセスできるはずです。実際にはあるかもしれませんが、見つかりませんでした。

3
Douglas Fils