Comment encoder une chaîne de fléchettes en base64? [dupliquer]
Cette question a déjà une réponse ici:
Je travaille avec une API qui nécessite des données codées en base64. Comment puis-je encoder une chaîne simple en base64?
2 réponses
Cela nécessite quelques étapes, mais encoder une chaîne en base64 est assez simple.
Dart a une fonction dans le paquet : bibliothèque crypto, CryptoUtils.bytesToBase64
, qui prend une liste d'octets à encoder en base64. Pour obtenir la liste des octets d'une chaîne Dart, vous pouvez utiliser la fonction UTF8.encode()
dans la bibliothèque Dart:convert.
, Tous ensemble, cela ressemble à:
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);
}
Si vous travaillez dans le navigateur, vous avez l'option la plus facile d'utiliser le fonction btoa
intégrée au navigateur. L'extrait de code ci-dessus devient:
import 'dart:html';
main() {
var str = "Hello world";
var base64 = window.btoa(str);
print(base64);
}
Il n'est pas nécessaire d'utiliser le paquet crypto puisque les bibliothèques de base fournissent un support intégré pour l'encodage et le décodage base64.
Https://api.dartlang.org/1.14.2/dart-convert/BASE64-constant.html
import 'dart:convert';
main() {
var str = "Hello world";
var bytes = UTF8.encode(str);
var base64 = BASE64.encode(bytes);
print(base64);
}