Base64でエンコードされたデータを必要とするAPIを使用しています。単純な文字列をbase64でエンコードするにはどうすればよいですか?
いくつかの手順が必要ですが、base64で文字列をエンコードするのは非常に簡単です。
Dartは package:crypto ライブラリの関数_CryptoUtils.bytesToBase64
_を持ち、base64としてエンコードするバイトのリストを受け取ります。 Dart文字列からバイトのリストを取得するには、 Dart:convert ライブラリのUTF8.encode()
関数を使用できます。
まとめると、次のようになります。
_import 'Dart:convert';
import 'package:crypto/crypto.Dart';
main() {
var str = "Hello world";
var bytes = UTF8.encode(str);
var base64 = CryptoUtils.bytesToBase64(bytes);
print(base64);
}
_
ブラウザ内で作業している場合は、ブラウザの組み込みbtoa
関数を使用する簡単なオプションがあります。上記のコードスニペットは次のようになります。
_import 'Dart:html';
main() {
var str = "Hello world";
var base64 = window.btoa(str);
print(base64);
}
_
コアライブラリはbase64エンコードとデコードの組み込みサポートを提供するため、cryptoパッケージを使用する必要はありません。
https://api.dartlang.org/stable/2.1.0/Dart-convert/Dart-convert-library.html
import 'Dart:convert';
main() {
var str = "Hello world";
var bytes = utf8.encode(str);
var base64Str = base64.encode(bytes);
print(base64Str);
}